Assignments | Class Photo | Computing Resources | Course Home | Lab Hours/Tutoring | Schedule | Submit

Saint Louis University

Computer Science 180
Data Structures

Michael Goldwasser

Fall 2008

Dept. of Math & Computer Science

There are two different types of assignments for this course. Those designated as "homework" assignments are typically pen-and-paper assignments that are turned in at classtime, while "programming" assignments are completed and submitted electronically.

The tables below gives the assignments, and associated dates. All future dates are tentative until such assignments are made available.

Please make sure you understand the policy towards Academic Integrity.

Late assignments of either type will be penalized in accordance with our Late Policy.


Assignment Topic Due Collaboration Policy Solutions
hw01 Television Class Friday, 12 September 2008, 10:00am individual soln
hw02 Transition to C++ Friday, 19 September 2008, 10:00am individual soln
hw03 Usage of the (simplified) vector class Wednesday, 1 October 2008, 10:00am individual soln
hw04 Stacks and Queues Thursday, 23 October 2008, 10:00am individual soln
hw05 Linked List Manipulations Wednesday, 5 November 2008, 10:00am individual soln
hw06 Trees Friday, 21 November 2008, 10:00am individual soln
hw07 Balanced Trees Friday, 5 December 2008, 10:00am individual soln


Program Topic Due Collaboration Policy
prog01 GC Content of DNA Friday, 5 September 2008, 11:59pm individual
prog02 Credit Card Friday, 26 September 2008, 11:59pm
Monday, 29 September 2008, 11:59pm
prog03 Web History Thursday, 16 October 2008, 11:59pm individual
prog04 Merging Lists Thursday, 30 October 2008, 11:59pm individual
prog05 Smart Stacks Monday, 17 November 2008, 11:59pm pair
prog06 Decision Trees Monday, 1 December 2008, 11:59pm individual
prog07 Programming Contest Monday, 8 December 2008, 11:59pm pair


Programming Assignments

What to submit

Electronic Submission Procedure

All programming assignments must be submitted electronically. For each assignment, there will be an aptly named folder in your online submit directory.

Receiving Grade Reports

Grade reports for each program, as well as an overview of all grades received in the course will be kept for each student in a special directory named 'grades' within the online submit directory.

Command-Line Arguments in C++

The execution of a program is generally started on the command line by typing the name of the executable in the current working directory (e.g., ./MyProgram). In this case, the program begins running and can further query the user for any additional information which might be needed. However, tere is an alternate approach which is quite common.

The same executable can be provided additional arguments at runtime by including them on the command line, separated by spaces. These are often called either runtime arguments or command-line arguments. For example, you might start the MyProgram executable with the command:

./MyProgram alpha beta gamma
In this case, the main routine of the executable MyProgram will be run, with signature as follows
int main(int argc, char* argv[])
where argv is an array of C-style strings which represent the arguments specified on the command line, and argc is the number of such arguments. Please note that the name of the executable is the first such argument, so the example above would result in main being invoked with argc=4 and argv representing the four strings {"MyProgram","alpha","beta","gamma"}.

Michael Goldwasser
CSCI 180, Fall 2008
Last modified: Monday, 08 December 2008
Assignments | Class Photo | Computing Resources | Course Home | Lab Hours/Tutoring | Schedule | Submit