University of Denver Home Page University of Denver Home Page DU Department of Computer Science Home Page   Home Page for Catherine Durso  

Comp 1572, Winter 2007
Course Information and Syllabus

Course Calendar and Assignments


Instructor:

Catherine Durso
(email comp157x"AT"cs"DOT"du"DOT"edu)
Office: JGH 303, x13598
Office Hours: 10:00-11:00, noon-1:00 MWF,
and by appointment

GTA:

Seif Azghandi
(email sazghand"AT"cs"DOT"du"DOT"edu)
Office: R327 JGH
Office Hours: 3:00-4:00pm W, 4:00-5:00pm Th, 3:00-5:00pm (with appointment) F
Also mornings and with appointment


About This Course

In this course we continue your study of of programming, with emphasis on object oriented programming in the language C++. This language is based on C, but has additional capabilities facilitating object oriented programming. We will cover classes, including inheritance and polymorphism, the concept of abstract data types, with specific examples from the standard library, file I/O, and additional topics as interest prompts and time permits.

You will learn design skills suited to complex programs while improving fundamental programming and debugging skills. You will continue to improve your communication skills, including documenting your programs, listening to and speaking about technical material, and reading texts to learn information independently.

This is a demanding course that requires significant time and energy. It provides a basis for writing large-scale programs. In practice, some engineers write these large-scale programs, while some delegate the writing to specialists. Either situation requires familiarity with object oriented programming.


Course Meeting Times

The lecture is held in CMK 309 at 2:00 on Mondays, Wednesdays and Fridays.


Required and Optional Resources


Grading

You will be evaluated based on weekly quizzes, homework assignments, programming projects, a midterm exam, and a final exam.

The quizzes will be given during the first five minutes of each Wednesday's class. They will be a quick closed book check on your awareness of the material covered the previous week.

Homework will be assigned and due approximately every two weeks. Please try the homework as soon as it is assigned. You'll be given opportunities in class to ask questions about it.

Programming projects will be given about 3 times during the quarter.

There will be two exams in this course. The midterm exam will, tentatively, be given on Wednesday, February 14, in class. The cumulative final exam will be given on Wednesday, March 14, from 1:00 to 2:50 p.m. in our regular classroom. This is the date determined by the registrar (see DU 2007 Winter Exam Schedule). Your enrollment in this class is a commitment to be available on that date.

Your attendance and class participation will be taken into account only in borderline cases.

The contributions of each type of work to your final grade are as follows:

evaluation typetotal percent contribution
Quizzes 5%
Homework 15%
Projects 30%
Midterm 25%
Final Exam 25%

Grading Policy:

Grade cut-offs are as follows: A (90 to 100 points), B (78 to 89 points), C (66 to 77 points), D (51 to 65), F (50 and less). Further curving may only improve your grade.

Late Policy: A 5/100 marks deduction penalty will be applied every 24 hours after the due date. In special circumstances the penalty may be revoked, but I reserve the right to do so.


Collaboration and Academic Honesty

When you turn in work in this course, you are implicitly agreeing that you have followed the rules for collaboration set forth for that assignment. You should not view in any way another person's assignment, nor should you possess electronic copies or hard copies of another person's assignment before that assignment has been graded and returned.

If you are stuck with a problem, you are strongly encouraged to seek help of the Instructor or the Teaching Assistant. Discussion of homework problems with your colleagues (other than your teammates when working in teams) should be limited to what the problem requires and not extend to how to solve it. You may not use or copy all or part of someone else's work. When using material from other sources or publications (including the Internet), you must understand, acknowledge and include a reference to them. Failure to do so will affect your grade adversely. Please make sure you have read and understood the information available in the following web page:DU Honor Code

Guidelines for Homework Assignments

A total of about 5 homework assignments will be handed out. These assignments are individual work and you must not consult with any of your colleagues, excepting the Instructor and the Teaching Assistant. You are encouraged to type your solutions. Handwriting is accepted as long as I find it to be readable, understandable and organized.

Homework assignments are due before midnight on the date specified in the assignment hand out (and course calendar). If you submit an assignment electronically, please use .TXT, .PDF or .DOC format. Email the attached file to 157x"AT"cs"DOT"du"DOT"edu. The email should mention the homework number in the subject line. The file name should include your name and the homework number. For example, a Word file containing Clive Owen's first homework should be called C_Owen_hw1.doc. Code for assigned programs should be submitted electronically, even if you choose to hand in solutions to other questions on paper. Email the code file(s) as attached files to comp157x"AT"cs"DOT"du"DOT"edu.

Guidelines for Programming Assignments

Approximately three projects will be assigned. You may be required to work in pairs or teams on some. You might be asked to present your work in class. A project involves the design and a partial or total implementation of your solution to a given computational requirement. Projects are due at the time and date specified in the assignment hand out. All projects must be submitted electronically. Email the code file(s) as attached files to comp157x"AT"cs"DOT"du"DOT"edu. The email should mention the project number in the subject line. The main file name should include your name and the project number. A hard copy of your code will also be required.

Your program must work correctly to receive credit. A program which does not compile will receive little credit. A program which works partially will receive partial credit. Your score improves if you attach notes documenting the incompleteness or bugs (include details of the circumstances under which they occur), since this shows the degree to which you tested your code.

Your program should be formatted logically, and should be easy to read. Specific projects will require use of structures available in C++.

Comment your code well - write comments that would be useful to someone who would have to debug, maintain or enhance your code. The quality of your comments is included in your grade.

Guidelines for Exams

Exams are given in class and are completely individual efforts. You may not give or receive assistance in any way. Feel free to ask me for clarification if you do not understand a question.


Course Calendar and Assignments

The calendar below contains links to homework assignments, programming projects, examples from class, and important dates for you to keep in mind.

Mon Tues Wed Thur Fri
Jan. 1

Jan. 3
first day
Hello World
standard input
'using'
string intro
basic file IO

Jan. 5
homework 1, due Jan. 19
customizing Cygwin
Jan. 8
binary file IO
binary file IO, cont.
more string functions

Jan. 10

Jan. 12
project 1, due Feb. 5
Jan. 15
MLK Jr. day
class does not meet

Jan. 17
frame, from text
loop invariant practice
vector example

Jan. 19
homework 1 due
homework 2, due Jan. 26
Jan. 22
compute mean
compute median

Jan. 24
sudoku matrix

Jan. 26
homework 2 due
homework 3, due February 9
Jan. 29
exception example
program using 'show' and 'mode'
show, mode implementation
show, mode header

Jan. 31
a sample sudoku game file
another sudoku file
program to count word occurrences
struct example


February




Feb. 2
erase, with outside files
iterator-based vector display
pure iterator erase
Feb. 5
project 1 due
list intro
uniform interface

Feb. 7

Feb. 9
homework 3 due
Feb. 12
project 2 assigned

homework 3 problem 1 solution
homework 3 problem 2 header
homework 3 problem 2 cpp
homework 3 problem 3 header
homework 3 problem 3 cpp
Feb. 14
midterm

Feb. 16
more sorts
find_and_find_if.cpp

split.h
split.cpp
split_main.cpp
Feb. 19

Feb. 21
project 2 due
map intro
RNA map
file for RNA map
recursion intro
recursive permutations

project 3 assigned
Feb. 23
input testing sample code
template intro
recursive sudoku solve
Feb. 26

Feb. 28
homework 4 due


March




homework 5, due March 14
list_w_iterator.h
listIteratorTest.cpp
Mar.2
template with iterator type
template with two types
template to overload an operator
overloaded functions
template with function argument
Mar. 5
sudoku_grid class .h file
sudoku_grid class .cpp file
sudoku_grid class test main

Mar.7
dynamic array
different types of memory
pointer reminder

a hard puzzle
Mar.9
Mar. 12
project 3 due...really
list template with operator=
test main for list
find and find_if with test main

Mar.14
final exam 1:00-2:50
project 3 due...really. really
homework 5 due

Mar.16

The cumulative final exam will be given on Wednesday, March 14, from 1:00-2:50pm


This page was last modified on: