ComS 327 Syllabus Fall 2015
ComS 327 Syllabus Fall 2015
ComS 327 Syllabus Fall 2015
TA
Alexey Markin
amarkin@iastate.edu
rumesh@iastate.edu
Hamid Bagheri
Office Hours
All TA office hours are in room 145 Pearson
Monday
Tuesday
Wednesday
Thursday
Friday
8:00 - 8:50
9:00 - 9:50
10:00 - 10:50
Rumesh
(10:30)
Rumesh
(10:30)
11:00 - 11:50
Rumesh
Rumesh
12:10 - 1:00
1:10 - 2:00
2:10 - 3:00
Alexey
Lecture
Alexey
Lecture
Alexey
3:10 - 4:00
Alexey
Lecture (3:25)
Alexey
Lecture (3:25)
Alexey
4:10 - 5:00
5:10 6:00
Examinations
Midterm
TBD
Final
TBD
Grading
Grading will be based on the two tests, including the final, and programming projects or
homework exercises with the following weighting, depending on which gives you the
higher grade.
Midterm Exam: 25%
Final Exam: 30%
Homework assignments/Projects: 45%
OR
Final Exam: 55%
Homework assignments/Projects: 45%
Textbooks
Optional texts
The C++ Programming Language, Bjarne Stroustrup
The C Programming Language, Kernighan and Ritchie
Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm,
Johnson, and Vlissides
Homework Assignments
Programming and related assignments will be assigned over the semester. There
may be more than one assignment assigned to students at the same time, and some
longer assignments. Longer assignments may be worth more points. All
assignments both programming and otherwise must be entered electronically and
submitted to the Blackboard system. Late homework will be accepted, but its
value will decrease 20% if it is one day late, and 40% if it is two days late. You
will receive no credit for assignments turned in after two days. For the purpose of
turning in late assignments, holidays and weekends do NOT count as a day. For
example, an assignment worth 100 points maximum, will be worth 80 points
maximum if it is one day late, 60 points if two days, and nothing if it is turned in
later than two days.
A homework exercise and a programming project will be due during the last
week of class. Any homework or project due on the last day of class may not
be accepted late.
Grading
Partial credit will be given for partially correct answers. Programming
assignments must compile and execute on the Computer Science departments
UNIX machine (pyrite.cs.iastate.edu) to receive any credit at all. Due to the
number of students in the class and the number of TAs available for grading,
please be sure your program runs on this machine and can be compiled from only
source files. TAs will delete all object and execute files in directories before
compiling and running your program.
WebCT/Blackboard
We will be using Blackboard for this course.
Course Objective
This course will study the C and C++ programming languages and introduce
advanced programming techniques using data structures and techniques used in
beginning programming and data structure classes. For this particular class the
differences between Java (or any managed language) and the C++/C programming
language will be discussed throughout the course. Programming projects will include
simple tools for managing programs, (such as make) and homework that will
emphasize solving real problems. Because the course requires programming projects
significant in terms of size and complexity, students will learn basic OO design
principles and design patterns. Students will also learn to use libraries, and in
particular to use tools and libraries to interface C++ to a SQL database.
The instructor reserves the right to enforce ISU policy concerning examination
scheduling.
Lectures in this class are copyrighted by various sources. In class photography or
recording is not permitted without the instructors prior permission.
Iowa State University complies with the American with Disabilities Act and
Section 504 of the Rehabilitation Act. Any student who may require an
accommodation under such provisions should contact me as soon as possible.
No retroactive accommodations will be provided in this class.