Programming Seminar II

COMPUTER SCIENCE 450 Programming Seminar II (2 cr.)

Prerequisite : Computer Science 350. A continuation of the study of algorithms important in software development, providing students with experience in designing and building large programs. An emphasis on group projects.


General Course Objectives


Specific Course Objectives

Upon completion of this course, students should be more comfortable writing, testing and debugging longer, more sophisticated computer programs on their own. This includes being comfortable with the following:


Required Textbooks
* Delphi Developer's Guide by Xavier Pacheco and Steve Teixeira Borland Press / SAMS Publishing, 1995.
Supplementary Books and Materials
* 3.5 inch double-sided, high density microfloppy disk.
* Software and manuals found in the lab.


Instructor: Wayne Summers Office: SC212A Office phone: (505) 454-3230
Department phone: (505) 454-3295
Office Hours: MWF 11-11:50 MF 3:00-4:00, T 2-3 and by appointment
e-mail address: summers_wayne@ColumbusState.edu
homepage: http://csc.ColumbusState.edu/summers


Format and Teaching Style
The course consists of one 50 minute lecture with time included for questions and answers. In addition, there is a 2-hour lab, which will cover material not included in the lectures. Each student will be expected to attend all lectures and lab sessions. The lab is NOT a help session. Students and the instructor will share their experiences of designing, coding, testing and debugging of large programs in general and in the context of specific problems using Visual Programming techniques. Algorithms to accomplish complex behaviors will be developed by the class as a whole and students will be asked to present their design and coding work for class critique. Class participation by all is expected. The emphasis will be on visual programming.


Topics for the course include:


Class Attendance: Class attendance is the responsibility of the student, and it is the student's responsibility to independently cover any material s/he may miss. Class attendance and participation may also be used in determining grades. You should attend all lab sessions. Attendance will be taken.


Exams and Assignments: There will be one midterm exam and one comprehensive final exam. Exams cover material from the text as well as laboratory activities. The lectures may not cover all the material in the textbooks. There will be a few major programming projects as well as many lab assignments. These programs will involve sophisticated algorithms and data structures. The projects will be expected to be complete and robust, including good user interfaces and the ability to handle improper input. Industry level internal and external documentation will also be expected. Late assignments will be subject to up to a 25% deduction in points per day. No credit will be given for assignments which are more than one week late. Programming assignments may be turned in early for extra credit if the assignment is near perfect. (1 point will be given for each day the assignment is turned in early, up to a maximum of 5 points per assignment).


Course Evaluation:

small lab assignments = 200 pts.
Programming Project = 100 pts.
programming assignments = 100 pts.
One midterm tests = 100 pts.
1 Comprehensive FINAL EXAM = 200 pts.

Grades may be determined according to this scale :
A 90% - 100% B 80% - 89%
C 70% - 79% D 60% - 69%

Honor Policy: Cheating will not be tolerated. Any student caught cheating will be given a zero on the assignment or exam. Repeat offenders will be given an F for the course and may suffer expulsion from the university. All work must be your own. You may discuss the material in the course and help one another, however, I expect any work you hand in for a grade to be your own. Plagiarism will result in, at best, an "F" for the assignment. A simple way to avoid inadvertent plagiarism is to talk about the assignments, but don't read each other's work or write solutions together. Keep scratch paper and old versions of assignments until after the assignment has been graded and returned to you. If you have any questions about this, please see me immediately.


COURSE OUTLINE (tentative)

DATE		Chapter / Description				Lab
Week 1: 1 - Windows Programming in Delphi 2 - Moving to Pascal 3 - The Object Pascal Language 4 - The Visual Component Library (VCL) Week 2: 5 - Basic Concepts in Delphi 1 - Review Assignment 6 - Sprucing Up Forms Week 3: 8 - MDI Applicatations 2 - MDI Assignment 9 - Understanding Messages Week 4: 10 - GDI and Graphics Programming 3 - GDI Assignment 12 - Printing in Delphi Week 5: 11 - Writing Components 4 - Marquee Project 1 - Components Week 6: 14 - Sharing Information with Clipboard & DDE Week 7: 15 - Object Linking and Embedding with OLE 5 - DDE/OLE Week 8: 16 - Writing Database Applications 6 - Simple Database MIDTERM EXAM SPRING BREAK Week 9: 17 - Working with SQL and the TQuery Component 7 - SQL Assignment Week 10: 18 - Dynamic Link Libraries Project 2 - Client/Server Week 11: 22 - Testing and Debugging EASTER BREAK Week 12: 24 - Building an Address Book Application Week 13: 28 - Building a Time-Tracker Application 8 - Database Application Week 14: 29- Inventory Manager - Preliminary Design Issues 30 - Inventory Manager - User Interface Development Week 15: 31 - Inventory Manager - Finishing Touches FINAL PROJECT DUE FINAL EXAM -