CSCE 2004
Class Syllabus
Fall 2014

Instructor and GTAs:

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

Dr. John Gauch
Office: JBHT 518
Email: jgauch(at)

Bill Bouillon
Office: 434 JBHT
Email: wbouillo(at)

Eugene Cartwright
Office: 434 JBHT
Email: eugene(at)

Luke Godfrey
Office: 434 JBHT
Email: lbg002(at)

Ben Gooding
Office: 434 JBHT
Email: bgooding(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).

Textbook / Clickers:

Students can choose to buy a printed textbook OR they can subscribe for an electronic textbook. The printed book is longer and has more detail and examples. The electronic book is shorter and it has interactive demos and self assessment questions.

Students are also required to purchase or rent Turning Point clickers from the university bookstore. These clickers will be used to take attendance and 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. Online programming labs and programming projects 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 the following:

10% - Clicker Score
10% - Online Programming Labs
30% - Programming Projects
20% - Midterm Exam
30% - Final Exam

We will use the following scale to assign final grades:

A: 90% - 100
B: 80% - 89%
C: 70% - 79%
D: 60% - 69%
F: 0% - 59%

Students must pass BOTH the homework portion of the class (labs and projects) AND the exam portion (midterm 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.

Clicker Score: 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.

Online Programming Labs: There will be weekly laboratory assignments. Grades for the labs will be based on completeness and correctness. Although lab materials are available on the web and can be submitted electronically, students are required to attend labs to get credit for the lab. The complete schedule for labs this semester is HERE. Please note that near the end of the semester students in some lab sections will need to complete two labs in one week to make up for holiday days.

Programming Projects: There will be 6-8 individual 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% - Correctness
20% - Design
10% - Implementation
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 containing any information the student finds helpful for the exam. 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.
  • Online Programming Labs and Programming Projects:

  • Students are expected to submit their own work on all online programming labs 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 GTAs 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.