C.S. CS340 page Syllabus Current MP C++ links JAVA links Exams

Syllabus

CS 340 - Software Design

Instructor:       Pat Troy
                  919 SEO     (312) 996-8521     troy@cs.uic.edu
Office Hours:

Class Times:      1:00 - 1:50        MTWF     C3LC       #41975

Text(required):   Programming Languages: Paradigm and Practice 
                               by Appleby and VandeKoppe, McGraw Hill Publ
                  C++ for C Programmers by Ira Pohl, Addison Wesley Publ
                  Essential Java 2 Fast by John Cowell, Springer Publ
				  
Text(optional):   Mastering Object-Oriented Design in C++, by Cay Horstman
                  C++ How to Program by Deitel & Deitel, Prentice Hall Publ (3rd ed.)
                  Pure Java Swing, Sams Publishing


Course Work:      MP1            (9/6/2001)               5%
                  MP2            (9/20/2001)              5%
                  MP3            (10/4/2001)              5%
                  MP4            (10/25/2001)             5%
                  MP5            (11/13/2001)             5%
                  MP6            (11/27/2001)             5%
                  Programming Critiques (For MP 1-5)      5%
                  Midterm        (10/15/2001@6-8p.m.)    30%
                  Final          (TBA-12/3/2001)         35%

Grading:          100%- 90.0%    Grade A
                  89.9% - 80%    Grade B
                  79.9% - 70%    Grade C
                  69.9% - 60%    Grade D
                  59.9% - 0%     Grade E
			  
Topics:           1.   Programming Language Semantics (applied)
                  2.   Advanced Computer Programming
                  3.   Introduction to GUI Programming
				  
Prerequisites:    Data Structures (EECS 360)

Course Goals:
- Creation of multiple non-trivial programming projects.
- Understand the complexity of such program creation.
- Learn techniques to help manage these complexity problems.
- Learn basic GUI concepts.

No late assignments will be accepted. Programs that do not compile will receive a grade of 0. (Warning messages from the compiler are acceptable but should be resolved.) Programs that cause a core dump will not receive any credit for the portion of code being tested when the core dump occurs. All programming assignments are to be turned in electronically and must compile and run on the CS department system. If you develop your program at home, plan on giving yourself enough time to port them to our system and make sure they run here! Enforcing strict ANSI compliance is smart idea.

For each program, you are require to write a 1 to 2 page description of the data structures used in your program. This description is to be written in ASCII format in a file named "readme.txt" and turned in with your code. For MP 1-5, you will be required to critique another student's program. Your critique will be returned to the student whose program you are critiquing. If you do not turn in a program, you will not allowed to write a critique.

If you have any question regarding how any assignment or test is graded and you think that you deserve more points that you received, you must see the instructor about this within one week of the time the assignment is first returned to the class. No claims, justifiable or not, will be considered after this dead line.

Attendance of the class is up to the discretion of each student; however, each student is responsible for all information (notes, hands-out, announcements, etc) covered during class. You should ask fellow classmates for missed information, not the instructor or the TA.

YOU MUST PASS THE FINAL IN ORDER TO PASS THE COURSE! If you receive grades under 30/100 on three or more of the machine problems, you will fail the course. If you receive grades under 30/100 on two of the machine problems, you will not receive an A in the course(even if everything else is perfect).

Any student caught cheating will receive an E in the course, and face possible dismissal from the University. Students are advised that is violation to copy, or allow another to copy, all or part of an exam or program. We will be using MOSS to electronically monitor all program submissions.

No incompletes will be given for poor performance in the course. The UIC Undergraduate Catalog states that in addition to needing excellent justification for an incomplete, a student must also have been "making satisfactory progress in the course". Therefore, incompletes will not be granted if the student has less than a C average at the time when asking for the incomplete. No "extra" work is allowed to make up for poor performance.