CS122 Course Information (20-ECES-122)


Section 001 Meets: M-W-F 12:00-12:50 in Baldwin 841
Section 003 Meets: M-W-F 1:00-1:50 in Zimmer 311

Instructor: Fred Annexstein
Office: 889 Rhodes (Office Hours: Friday 2-4)
Phone: 556-1807
Email: fred.annexstein@uc.edu
Web: http://www.ececs.uc.edu/~annexste


Course Information

Important Information and News

Please resumbit your HW #4 to the TA. There were some technical problems with the mail system.

Some systems have problems linking separately compiled template classes. If you have linking problems simply put an include statement in your client program, and compile the whole program together. See the stacktemplate client testtemplate.cpp , as an example.

There is no class on Friday June 2.

For students interested in the extra credit assignment:

  • Extra Credit Programming Assignment : Due Friday June 9.

    Here is a solution to Homework #3: an implementation of network.cpp

    THERE WILL BE NO FINAL EXAM

    Exam #2 will be held in class on May 22. Here is a review sheet to look over in preparation.

    Homework #4 is now due Monday May 22.

    (5/9) VERY IMPORTANT: Homeworks are to be submitted as a tarfile (which contains all source code and Makefile) as an ATTACHMENT via email to the TA at khanjd@email.uc.edu.

    (4/4) Go to classware.uc.edu and ~activate your accounts.

    Here is the Course Syllabus

    Here is the Book webpage.

    Teaching Assistant: Jawad Khan
    E-mail: khanjd@email.uc.edu
    Office Hours: H: 10:00-11:30, F: 3:00-4:30, in Baldwin 661.


    Homework

    Help With Your Programs

    In addition to the TA from this section, Jawad Khan, the two other CS2 TA's, Monica Martin and Nitin Jain, will be available to help you with your programs. However, you must submit your programs electronically to the TA for this section Jawad Khan: khanjd@email.uc.edu

    Other TA Office Hours (Tentative)

    Nitin Jain
    E-mail: jainn@email.uc.edu
    Webpage:http://homepages.uc.edu/~jainn Office Hours: MW: 2:00-3:30 Room 811F

    Monica Martin
    E-mail: martimlm@email.uc.edu
    Webpage: http://www.ececs.uc.edu/~mmartin Office Hours: M: 12:00-2:00, T: 11:00-1:00, Room 811F


    Programming Assignments

  • Extra Credit Programming Assignment : Due Friday June 9.
  • Programming Assignment 5: Due Friday June 2.
  • Programming Assignment 4: Due Friday May 19.
  • Programming Assignment 3: Due Monday May 8.
  • Programming Assignment 2: Due Monday April 24.
  • Programming Assignment 1: Due Monday April 10.

    More Information and code samples

    (5/23)Please read the lecture notes on Chapter 13 linked to here:
  • Inheritance Powerpoint or PDF.

    (5/23)Please read the lecture notes on Chapter 14 linked to here:

  • Templates and Polymorphism Powerpoint or PDF.

    (5/23) Here is the rewrite of stack code samples using tmeplates: stacktemplate.cpp , stacktemplate.h , testtemplate.cpp ,

    (5/16) Here are some notes giving some background on using pointers and some pitfalls to watch out for: Pointers in C++

    (5/1)Please read the lecture notes on Chapter 12 linked to here:

  • Pointers and Dynamic Objects Powerpoint or PDF.

    (5/10) Here is the code samples using and implementing stacks: stack.cpp , stack.h , stackclient.cpp ,

    (5/1) Here is the code sample to read data from an external file: file.cpp ,

    (4/19) Here is the code from Wednesday's lecture: binarysearch.cpp ,

    (4/17) Here is the code from Monday's lecture: overloadvectorops.cpp ,

    (4/12) Here is the code for Wednesday's lecture: clientinsert.cpp , insert.cpp ,

    (4/5) Here is the code for Friday's lecture: random.cpp , random.h , randclient.cpp

    (4/2) If you are interested in obtaining a linux box for your home use you may want to check out Linux install information.

    (4/2) There has been some clarifications of the original homework assignment. So continue to check it for more details.

    (3/31) There will be a laboratory introduction today Friday from 2-4PM in Baldwin 661. Please come with your system related questions.

    (3/29) We first want to become comfortable with the Unix platform for programming. Please read this unix introduction which provides a very brief intro to Unix system, the emacs editor, and the Gnu g++ compiler. Here is an example program to get started with. Please download this code and compile and run it. See if you can break it into separately compiled modules.


    Distributing and Mailing Files using Tar

    The UNIX tar command allows you to copy a collection of files into a single file. This is convenient when emailing multiple files, and we will use this method for submitting homework. To create a tar file you use the command "%tar cvf out.tar 'list of files'" (or on some systems "%tar cvf 'list of files' > out.tar"). The file out.tar contains a copy of each file in the list. Here is an example of separate files collected into a single tarfile: example.tar . Download this file and untar it to extract the original files by running the command "% tar xvf example.tar". In general, you will tar your multiple homework files together and submit as a single tarfile.


    Program Development and Maintenance using Makefiles


    Lecture Notes

    There are three lectures per week. Copies of the slides are available in the Lab Manual. The slides are also viewable electronically. Please note that with most browsers a left-click on either the PowerPoint or PDF slide formats causes a display plug-in to be invoked. To download the files, we suggest a right-click and then select save. The PDF files may be viewed using Adobe 's freely distributed Acrobat Reader.

  • Introduction to ADTs Powerpoint or PDF.
  • Introduction to Arrays Array notes also
  • Arrays and Container Classes Powerpoint or PDF.
  • Pointers and Dynamic Objects Powerpoint or PDF.

    Here are presentations for material from CS I

  • Introduction in Powerpoint or PDF.

  • Fundamentals of C++ Powerpoint or PDF.

  • Modifying Objects and Program Design Powerpoint or PDF.

  • Control Constructs in Powerpoint or PDF.

  • Functions in Powerpoint or PDF.

  • User-defined Functions in Powerpoint or PDF.

  • Advanced Parameter Passing in Powerpoint or PDF.



    Return to Dr. Annexstein's homepage