Class Photo | Course Home | Homework | Programming | Schedule & Lecture Notes | Submit

Saint Louis University

Computer Science 220
Computer Science II
Michael Goldwasser

Fall 2004

Dept. of Math & Computer Science


  • List of Programming Assignments
  • General Information about Programming

  • PROGRAMMING ASSIGNMENTS

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

    Program Topic Date
    prog01 Credit Wednesday, 8 September 2004, 8pm
    prog02 Web History Part 1 - Monday, 20 September 2004, noon
    Part 2 - Thursday, 23 September 2004, 8pm
    prog03 Survivor Part 1 - Wednesday, 6 October 2004, 8pm
    Part 2 - Monday, 11 October 2004, 8pm
    Monday, 18 October 2004, 9am
    prog04 Merge Thursday, 28 October 2004, 8pm
    prog05 Cards Monday, 15 November 2004, 8pm
    prog06 Magic Tuesday, 23 November 2004, 8pm
    prog07 Arithmetic Expressions Tuesday, 7 December 2004, 8pm


    GENERAL INFORMATION ABOUT PROGRAMMING


    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.

    C++: Software, Documentation, Technicalities

    Coding Style and Conventions

    We ask that you read Section 1.7.2 of the text and expect you to adhere to the guidelines outlined within in regard to programming readability and style.

    Command-Line Arguments

    The execution of a program is generally started on the command line by typing the name of the executable (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"}.

    Modular Arithmetic Operator

    The "%" operator, when evaluated with integer operands, is for doing modular arithmetic. Specically expr1 % expr2 will return the remainder of dividing expr1 by expr2.

    Pease keep in mind that this operator has equivalent precedence as multiplication and division. That is, the expression a + b % c + d is implicitly evaluated as a + (b % c) + d, which is not the same as (a + b) % (c + d).

    Furthermore, the behavior of the "%" operator is peculiar when one or both of the operands are negative numbers. You will probably want to avoid allowing negative numbers to enter into such calculations.


    Computing Resources at SLU

    An account for each student has been created on, turing.slu.edu, our department computing cluster. The cluster runs the Linux operating system. It is accessible from both on and off campus by one of the following two ways:

    For more detailed information on access to the cluster, visit http://turing.slu.edu/, and the link to "Accessing Turing".

    Please note: you are not explicitly required to use turing as your computing platform, it is simply the only platform what we will officially support. If you wish to use another platform that offers you sufficient support for completing your assignments, please feel free to do so.


    CSA-220, Fall 2004
    Michael Goldwasser
    goldwamh at our university domain.

    Last modified: Tuesday, 23 November 2004
    Class Photo | Course Home | Homework | Programming | Schedule & Lecture Notes | Submit