COMPUTER SCIENCE 350 - Programming Seminar I(3 cr.)

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 of Course

Required Textbook

General Objectives

Specific Objectives

Major Topics

Format and Teaching Style

Assignments for Course

Schedule


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.