Meeting Times:

Lecture: M 6:00 - 9:30 p.m. (Gore 306)
Lab: R 7:00 - 9:00 p.m. (Smith 040)

Staff

Instructor: Sara Sprenkle
Office: 102 Smith Hall
Office Hours: Mondays 3-5 p.m. (subject to change)
E-mail: sprenkle at cis.udel.edu

TA: Gang Situ
Office: 77 E. Delaware Ave. ("greenhouse")
Office Hours: Wed 3-5 p.m.
E-mail: situ at cis.udel.edu

Course Web Page: http://www.cis.udel.edu/~sprenkle/cisc105

Project Number: 2140

Description

This course is the introductory computer programming course for non-CIS majors. Principles of computer science will be illustrated and applied through programming in the high-level language C. In addition, the student will learn the fundamentals of algorithm design and algorithm implementation. The course is also appropriate for those considering a CIS major but who are not ready for CISC 181.

Required Textbooks

C Programming for Engineering and Computer Science by H.H.Tan and T.B.D'Orazio, McGraw-Hill 1999.
Just Enough Unix, 4th or 5th ed. by Paul K. Anderson, McGraw-Hill.


Grading

Your grade will be computed as follows:

  Percent of grade
Midterm 20
Final 25
Labs 20
Weekly Quizzes 10
2 Projects 20
Participation 5
Total 100

The final will be cumulative due to the nature of the material, but will focus on the topics covered after the midterm.

Labs

Students must attend ALL lab sessions. Submitted work must be handed in to the TA no later than the beginning of the following lab session (for example, you must submit the Lab 4 assignment no later than the beginning of the Lab 5 session). Assignments that are late are assessed a 10% per day late penalty; after seven days they will not be accepted. Saturday and Sunday are each days. This policy is necessary because late assignments are burdensome for the TA in terms of separate handling and grading time.

See the web site for more information about submission standards for assignments and C coding style.

Part of each lab grade will be an in-lab progress grade. This grade is issued by your TA during lab. The grading process is determined by the TA but will include whether a student was present for 2 hours, whether the student was prepared for the lab, and whether the student makes significant progress during the lab. Examples of preparedness include remembering textbooks, being able to login and work, and being familiar with the concepts required.

If you have a disability that requires special accommodation, please contact me by email (sprenkle at cis.udel.edu) during the first week of class.

If you cannot attend lab, you must contact me (not Gang) before you will miss the lab. I will then determine if you are excused from the lab, but you are still required to turn the assignment in before lab and to turn the next lab in on time.

Lectures

Students must attend ALL lectures. I may make announcements in class that I do not post on the website. I will put lecture slides on the web, but these are not a substitute for class notes. Many classes will have no lecture slides because we will be coding. It is your responsibility to get the notes from any lecture you miss from another student (not your instructor and not your TA). Lecture material is critical for projects and exams and useful everywhere else.

I base your participation grade on your participation in lecture. If you show up to every lecture and sit quietly and attentively, you can expect to get ONE out of five possible points. To get five points, politely ask and answer at least one question in every class. If you are unable to do this because of extreme shyness, see me during office hours in the first two weeks of the semester.

Weekly quizzes: At the beginning of every lecture, we will have a 10-minute quiz on the last week's material. Review your notes and understand the labs, and you should have no trouble with the quizzes.

If you cannot attend lecture, you must contact me before you will miss lecture.

Projects

You will have two substantial coding projects in this class. We will evaluate your project based on the scripted copy of your project as well as a demo. You must do one of your demos with the TA and one with the instructor. During the demo, we will ask questions about why you designed your code as you did and provide suggestions for improving your code organization, style, and efficiency.

A Note About Programming Conventions

Every organization that writes code (and does it well) subscribes to a set of conventions for naming variables, commenting, formatting, etc. 

Our class has a style sheet posted on the class website. You must adhere to the specifications of the style sheet to receive full credit for an assignment.

"What happens if we don't do this?"

Horrible things happen. A program that works perfectly but does not have the features described in the style sheet cannot receive a grade higher than 60%, even assuming it is flawless in every other way.


Your Right to See and Question Your Grades

Students have a right to receive their graded assignments in a timely fashion. That said, remember that your TAs are students too and have other deadlines. The instructor and TA will endeavor to get all assignments back to students within ten days of the submission date. If this date is not met, please bring it to the attention of the instructor.

All students have the right to know how their grades are calculated, and if any student believes a mistake has been made, it is up to the student to contact the grader to discuss it within ONE WEEK of the return of the assignment. Contact the TA first for labs, homework, and projects. If you are not satisfied after discussing the grade with the TA, then you may bring it to the instructor. Bring exams directly to the instructor.

The grade percentages are on this syllabus. Please use them to calculate estimates of your semester grade. This class typically has little or no curve.


Academic Honesty

I expect you to observe the highest ethical standards, avoiding even the perception of ethical compromise.  You are expected to do your own work unless explicitly instructed otherwise.  This includes homework assignments, programming projects, labs, quizzes, and examinations.  All violations of academic honesty will be handled according to University policy.

In addition, copying another person's work without proper acknowledgment is plagiarism, a serious offense, and the one most common to computer science courses.  Anyone that aids another student with work that is expected to be done without collaboration is as guilty as the person who seeks help. Both will be prosecuted. It is strongly recommended that you familiarize yourself with the University's Policy of Academic Dishonesty found in The Official Student Handbook.

Any student who in any way facilitates another student's access to classwork is cheating, whether the classwork is written, electronic, verbal, or any other form.

Furthermore, there have been rare instances of people claiming that their work was stolen. In these cases it is very hard to determine if the person gave their work to someone else, or if it was taken without their permission. If there is any doubt, I will always assume that the work was deliberately shared. It is thus your responsibility to safeguard your papers, your passwords, your computers, and any other means by which your work can be copied.

All students are required to be familiar with these examples: Academic Honesty Examples


Sections of this syllabus and site were borrowed from Terry Harvey.