Instructor: Dr. Wayne Summers
Office: SCA207B (phone: 454-3230 or 454-3295)
Office Hours: MWF: 9-9:50 a.m. TR: 4-4:50or by appointment
e-mail: summers_wayne@ColumbusState.edu
homepage: http://csc.ColumbusState.edu/summers
Description: The study of algorithms important in software development, providing students with experience in designing and building large programs. An Introduction to Visual Programming.
Prerequisite: Computer Science II - CS250.
General Course Objectives
Familiarize students with the processes involved in long computer programs;
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
* C++ Builder Programming Explorer by Jeff Duntemann, and Jim Miscel, Coriolis Group Books, 1997.
Supplementary Books and Materials
Format and Teaching Style
The course consists of two 50 minute lectures 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-4Review of CS II & Object Oriented Programming; C++ Builder
C++ Builder Components
Weeks 5-8Review Fundamentals of Object Oriented Programming
Encapsulation, Inheritance, and Polymorphism; Type-casting
Forms and Units; Dialogs
Week 9-11Applications
Files & Tables
Simple Database Applications
Weeks 12-15 More Database Applications
Designing and Implementing a Database System
Developing Documentation and Help Screens
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 several major programming projects as well as a few small 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 that are more than one week late. The following guidelines will be followed when grading programming assignments: execution= 20%, correctness of output= 20%, design of output= 15%, design of logic= 20%, standards= 15%, and documentation= 10%. 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:
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. |
Makeup Exams: Makeup exams will be given only if the instructor is notified IN ADVANCE of the exam with a legitimate reason for missing the exam.
COURSE OUTLINE (tentative)
DATE |
Chapter |
Description |
Lab |
Week 1: |
OC 1,2, 11 |
Review of OOPs |
Ch. 1 - Way RAD! |
Week 2: |
Ch. 2 LABOR DAY |
Is This Really Programming? |
Ch.3-Components & Properties |
Week 3: |
Ch. 4 |
All of your Stuff and Buckets ... |
Ch. 5- Visual and Non-Visual Components |
Week 4: |
Ch. 6 |
Data, Data, Everywhere |
Ch. 5- Visual and Non-Visual Components |
Week 5: |
Ch. 8 |
Units and Objects |
Ch. 7 - Forms and Units |
Week 6: |
Ch. 8 |
Units and Objects |
Ch. 9 - Dialogs Boxes the Easy Way |
Week 7: |
OC 8 Ch. 10 |
Encapsulation, Inheritance Our Objects All Sublime |
Ch. 9 - Dialogs Boxes the Easy Way |
Week 8: |
NOTES: Ch. 10 |
Polymorphism Our Objects All Sublime |
MIDTERM EXAM (in lab) |
Week 9: |
CH. 11 |
Files and File Types |
Ch. 11 - Files and File Types |
Week 10: |
CH. 12 |
Points of Light, Spots on Paper |
Spiromania |
Week 11: |
CH. 14 |
Tables on the Record |
Ch.13-Database Applications |
Week 12: |
CH. 14 |
Tables on the Record |
!!!!Work on last program and projects!!!! |
Week 13: |
Ch. 16 |
SQL As API |
Ch. 15 - SQL The C++ Builder Way |
Week 14: |
Ch. 18 |
Database Odds ‘N’ Ends |
HAPPY THANKSGIVING |
Week 15: |
Ch. 17 |
Exploring Custom Components |
finish projects |
FINAL EXAM |
Thurs. DEC 11 8 A.M. |