CSCE 2004
Class Syllabus
Fall 2012


Dr. Susan Gauch
Class Time: Mon, Wed, Fri 11:30-12:20
Office: JBHT 504
Hours: Mon 2:00-3:00, Wed 2:00-3:00, Fri 10:00-11:00
Phone: 575-6036
Email: sgauch(at)
Web Page:

Dr. John Gauch
Class Time: Tue, Thu 11:00-12:20
Office: JBHT 518
Hours: Tue 9:00-10:00, Thu 9:00-11:00
Phone: 575-4024
Email: jgauch(at)
Web Page:

Teaching Assistants:

You may visit any TA's office hours for help on assignments, not just the TA for your lab section.

Name: Matthew Moccaro
Office: 434 JBHT
Labs: Tue 12:30, Wed 9:30, Thu 12:30
Hours: Tue 2:30-4:00, Thu 2:30-4:00
Email: mmoccaro(at)

Name: Zac Kindle
Office: 434 JBHT
Labs: Mon 3:30, Fri 9:30, Fri 3:30
Hours: Wed 3:00-4:30, Fri 1:30-3:00
Email: zkindle(at)

Name: Stephen Ashmore
Office: 434 JBHT
Labs: Mon 1:30, Wed 1:30, Wed 3:30
Hours: Mon 10:00-11:30, Wed 10:00-11:30
Email: scashmor(at)

Name: Jacob Hendricks
Office: 434 JBHT
Labs: Mon 9:30
Hours: Tue 1:00-2:00, Thu 1:00-2:00
Email: jhendric(at)

Catalog Listing:

Introductory course for students majoring in computer science or computer engineering. Software development process: problem specification, program design, implementation, testing and documentation. Programming topics: data representation, conditional and iterative statements, functions, arrays and records. Using C++ in a UNIX environment. Prerequisite: MATH 2554 (Calculus I).


Starting Out with C++ Brief: From Control Structures through Objects, 7th edition. Tony Gaddis, 2012. Published by Addison Wesley.

Students are also required to purchase Turning Point clickers, which will be used for in-class quizzes.

Course Learning Outcomes:

The goal of this class is to develop fundamental computer-based problem solving skills in the following areas:

  1. Software Development - The specification, design, implementation, testing, and documentation of software to solve specific problems.
  2. Structured Programming - The syntax, semantics, and use of the basic features of a typical structured programming language (e.g., loops, conditionals, functions).
  3. Algorithms and Data Structures - Basic methods for storing and manipulating data to effectively solve specific problems (e.g., arrays, binary search).
  4. Object Oriented Programming - The syntax, semantics, and use of the basic features of a typical object-oriented programming language (e.g., C++).

The pedagogical approach will be focused on solving problems using existing software modules (e.g., class libraries) and new modules when necessary. The syntax and semantics of programming language constructs will be introduced as needed in this context. Biweekly programming assignments and their associated reports will be added to each student's programming portfolio. Labs will reinforce concepts taught in the lecture and also introduce students to the Linux operating system.


Final grades in this class will be determined by a weighted average of lab grades, programming project grades, quizzes, and exam scores. We will use the following scale to assign final grades:

A: over 90%
B: 80% - 89%
C: 70% - 79%
D: 60% - 69%
F: below 60%

Students must pass BOTH the homework portion of the class (labs and projects) AND the exam portion (midterms and final) with a grade of D or better in order to pass this course. Hence, an overall average greater than 60% may still result in a failure in some cases. The grade will be calculated as follows:

Quizzes: 10%
Labs: 10%
Programming Projects: 40%
Midterm: 15%
Final Exam: 25%

Quizzes: There will be short, in-class quizzes frequently throughout the semester. Turning Point clickers will be used to collect quiz responses, so students must buy/rent clickers for this semester and bring them to every class.

Labs: There will be weekly laboratory assignments. Grades for the labs will be based on completeness, correctness, and effort. Although lab materials are available on the web and can be submitted electronically, students are required to attend labs and demonstrate their work to the TA during the lab to get credit for the lab.

Programming Projects: There also will be 6-8 relatively large programming projects that will integrate material taught in the course. The project requirements and due dates will be posted on the class website. The programming projects will be graded according to the following scale:

50% program correctness
20% software design
10% programming style
10% testing
10% documentation

Programming projects must be submitted electronically by midnight of the due date specified in the project description. Projects which are submitted after the due date lose 10% per day for up to 3 days late. Projects more than 3 days late will not be accepted and will receive a grade of ZERO. Weekends count as 1 day. Partial credit will be given for programs which compile but which are not complete. Starting early on programming projects is strongly encouraged.

Exams: There will be two exams in this class. One midterm exam and a comprehensive final exam. All exams will be closed book, but each student will be allowed to bring in a single 8.5 by 11 sheet of notes. Calculators will not be needed or allowed. Make up exams will only be allowed under exceptional circumstances (e.g., a note from your doctor).

Academic Integrity:

The department, college, and university have very strict guidelines regarding academic integrity. These are described in detail on the Provost's website (see Academic Integrity Policy and Academic Integrity Sanction Rubric) The following policies will apply to this class.


  • Students are NOT allowed to copy anything from another student.
  • Students are NOT allowed to get any outside assistance during the exam.
  • Students ARE allowed to bring an 8.5 x 11 sheet of paper with any notes they want into the exam.
  • Otherwise, exams are closed book and closed notes.
  • Programming Projects:

  • Students are expected to submit their own work on individual programming projects.
  • Students are NOT allowed to work together in teams or groups to implement programs.
  • Students are NOT allowed to lend or borrow code from each other.
  • Students are NOT allowed to copy code from other individuals or websites.
  • Students ARE allowed to ask the instructor and/or TAs for assistance.
  • Students ARE allowed to borrow and adapt code from this class website.
  • Violations of the policies above will be reported to the Provost's office and may result in a ZERO on the exam or project, an F in the class, or suspension from the university, depending on the severity of the violation.

    ADA Statement:

    If any member of the class has a documented disability and needs special accommodations, the instructor will work with the student to provide reasonable accommodation to ensure the student a fair opportunity to perform in this class. Please advise the instructor of the disability and the desired accommodations within the first week of the semester.

    Inclement Weather:

    If the university is officially closed, class will not be held. When the university is open, you are expected to make a reasonable effort to attend class, but not if you do not feel that you can get to campus safely. Assignment due dates will be postponed in case of inclement weather.