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
- Familiarize students with the processes involved in long computer programs;
- Give students practice testing and debugging programs more like the ones they
can expect to be working with after graduation;
- Present algorithms and 'tricks' commonly used in the development of computer
programs.
- Continue the concepts of Visual Programming and Object-Oriented
Programming.
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:
- top-down design and object-oriented design including the use of tools such as
structure charts and step-wise refinement;
- the development of comprehensive test data sets;
- the storage of modules and objects in libraries and later access of those
modules and objects.
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:
- Week 1-4 Review of Delphi & Object Oriented Programming
- Weeks 5-11 Fundamentals of Component Writing and Windows Programming
Review of Database Programming with Delphi
- Week 12-15 Applications & Client/Server Programming
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 -