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

ENCE 3830-2, Spring 2006
Course Information and Syllabus

Course Calendar and Assignments


Instructor:

Catherine Durso
(email cdurso"AT"cs"DOT"du"DOT"edu)
Office: JGH 303, x13598
Office Hours: 12:00-2:00 MWF


About This Course

In this course we emphasize 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. To cover this subject matter, we will work through chapters 1-8 of the text fairly quickly, then examine the material in chapters 9-14 in depth.

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.


Course Meeting Times

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


Required and Optional Resources


Grading

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

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 assigned about 3 times during the quarter. Alternatively, if you have a project you would like to pursue and it provides an appropriate exercise in the course material, you may arrange to use it as your project for the course. You must make the arrangements with me during the first several weeks of class. The arrangements will include a schedule of partial work to be turned in during the quarter.

There will be two exams in this course. The midterm exam will, tentatively, be given on Wednesday, May 3, in class. The cumulative final exam will be given on Monday, June 5, from 10:00 to 11:45 p.m. in our regular classroom. This is the date determined by the registrar (see DU 2006 Spring 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
Homework 15%
Projects 30%
Midterm 25%
Final Exam 30%

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 my help. Discussion of homework problems with your colleagues (other than your teammates when working in teams) should be limited to what the problem requires and what general approaches may be fruitful, and not extend to detailed solution. 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. You should turn in electronic copies of programs as well as hard copies. 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 type your solutions, you must submit them electronically in either .TXT, .PDF or .DOC formats to me. Please follow the following format for electronic homework assignment submissions and file naming: email your code as an attached file to the course account,

cdurso"AT"cs"DOT"du"DOT"edu,

and name your file

(Your last name/names)_Hwk(homework assignment number).(appropriate extension)

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. Please follow the following format for electronic project assignment submissions and file naming: email your code as an attached file to the course account,

cdurso"AT"cs"DOT"du"DOT"edu,

and name your file

(Your last name/names)_Prj(Project assignment number).cpp

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
March
March 27
downloading from CS
customizing your bash profile
UNIX basics
Hello World
basic IO
string intro

file basics
make a random access file
edit a random access file
March 29
March 31
April
April 3
string example


April 5
intro to bitwise operations
examples of bitwise operations
bitwise file reads
homework1 assigned (Note clarification), the executable

April 7
bool sampler
vector intro
median calculation
April 10
Separate Compilation
basic makefiles
file with main
function implementation file
header file for functions
makefile
struct intro

April 12

April 14
homework1 due
homework2 assigned
introduction to iterators
reverse iterators
the max algorithm and insertion
April 17
intro to lists
vector erase
list erase test
sequence iteration
project 1 assigned
vectors of vectors

April 19
max and insert
struct Iterator
sortExercise.cpp
split.cpp split.h
split_main.cpp
executable for project 1

April 21
find test
urls.cpp
urls.h
urls_main.cpp
April 24
back_inserter
transform and remove

April 26
homework1 possibility

April 28
map intro
cipher with map and rand
recursive factorial
recursive permutation
homework2 due
May
May 1
May 3
midterm
homework 3 assigned
table for hw 3

May 5
project 1 due
May 8

May 10
project 2 assigned
project 3 assigned

May 12
homework 3 due
May 15
edge class
code.h
code.cpp
code_main.cpp
makefile for code_test

May 17
pointer example
static, automatic, and dynamic memory
dynamic array allocation
primitive list

May 19
May 22
memory class example
class with bad default behavior
repaired class
Vec from text
Vec tests

May 24
project 2 due

May 26
May 29

May 31
project 3 due
new Vec
sumVec
sumVecMain


June



June 1
Vec class and V class
sumVec adapted for V class
demo for V interface
June 2
June 5
final 10:00-11:45 CMK 201

June 7

June 9

The cumulative final exam will be given on Monday, June 5, from 10:00 to 11:45 a.m.


This page was last modified on: