CSCE 2004
Class Syllabus
Spring 2014


Dr. Susan Gauch
Class Time: Mon, Wed, Fri 12:55-1:45 PM
Class Location: JBHT 144
Office Hours: Mon, Fri 2:00-3:00 PM; Wed 9:30-10:30 AM
Office: JBHT 504
Phone: 575-6036
Email: sgauch(at)

Dr. Gordon Beavers
Class Time: Tue, Thu 8:00-9:15 AM
Class Location: MEEG 212
Office Hours: Mon, Wed, Thu, Fri 3:30-4:30 PM
Office: JBHT 510
Phone: 575-6040
Email: gordonb(at)

Graduate Teaching Assistants:

Students may visit the office hours of their class instructor or ANY graduate teaching assistant below for help on clasgordonb materials or assignments.

Name: Eugene Cartwright
Office: 434 JBHT
Office Hours: Mon, Wed 10:30-11:30
Labs: Mon 8:35 AM, Wed 8:35 AM, Wed 4:10 PM
Email: eugene(at)

Name: Alex Lo
Office: 434 JBHT
Office Hours: Tu 2:30-3:30 PM; Fri 10:30-11:30 AM
Labs: Tu 3:30 PM, Thu 3:30 PM, Fri 8:35 AM
Email: cxl056(at)

Name: Alborz Sadeghian
Office: 434 JBHT
Office Hours: Thu 1:30-3:30 PM
Labs: Mon 4:10 PM, Wed 6:00 PM, Fri 4:10 PM
Email: sadeghia(at)

Catalog Description:

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, strings, file I/O, and classes. Using C++ in a UNIX environment. Prerequisite: MATH 2554 (Calculus I) with a C or better.


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

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


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.

Topics Covered:


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:

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

Clicker Quizzes: There will be short, in-class quizzes frequently throughout the semester. These quizzes will be used to take attendance in class and get student feedback on materials covered in class. Turning Point clickers will be used to collect quiz responses, so students must purchase or 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. The autograder scores will be used to determine the lab grade for the course.

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 Honesty Statement:

As a core part of its mission, the University of Arkansas provides students with the opportunity to further their educational goals through programs of study and research in an environment that promotes freedom of inquiry and academic responsibility. Accomplishing this mission is only possible when intellectual honesty and individual integrity prevail. Each University of Arkansas student is required to be familiar with and abide by the University's 'Academic Integrity Policy' at Students with questions about how these policies apply to a particular course or assignment should immediately contact their instructor. The following policies will apply to this class.


  • Students are expected to submit their own work on all exams.
  • Students are NOT allowed to copy anything from another student, or 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.
  • Homework and Programming Projects:

  • Students are expected to submit their own work on all homework and programming projects, unless group projects have been explicitly assigned.
  • Students are NOT allowed to distribute code to each other, or copy code from another individual or website.
  • Students ARE allowed to use any materials on the class website or in the textbook, or ask the instructor and/or TAs for assistance.
  • Violations of the policies above will be reported to the Provost's office and may result in a ZERO on the exam or programming 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.

    Emergency Procedures:

    Many types of emergencies can occur on campus; instructions for specific emergencies such as severe weather, active shooter, or fire can be found at

    Severe Weather (Tornado Warning):

  • Follow the directions of the instructor or emergency personnel.
  • Seek shelter in the basement or interior room or hallway on the lowest floor, putting as many walls as possible between you and the outside.
  • If you are in a multi-story building, and you cannot get to the lowest floor, pick a hallway in the center of the building.
  • Stay in the center of the room, away from exterior walls, windows, and doors.
  • Violence / Active Shooter:

  • CALL - 9-1-1
  • AVOID - If possible, self-evacuate to a safe area outside the building. Follow directions of police officers.
  • DENY - Barricade the door with desk, chairs, bookcases or any items. Move to a place inside the room where you are not visible. Turn off the lights and remain quiet. Remain there until told by police it is safe.
  • DEFEND - Use chairs, desks, cell phones or whatever is immediately available to distract and/or defend yourself and others from attack.