DEPARTMENT OF COMPUTER STUDIES AND ADVANCED
TECHNOLOGY
COSC 1315 Fundamentals of Programming Section 11043 Spring 2008
LECTURE - TTh NRG 4211 7:05 pm – 8:20 pm
LAB - T NRG 4233 8:30 pm – 9:20 pm
Instructor: Gerard (Jerry) Nugent
E-mail:gnugent@austincc.edu
Office Telephone: Voicemail (512) 223-1795 (Mailbox # 23575); (512) 797-1169 (cell)
Office Hours: Tuesday: 6:00pm – 7:00pm; Wednesday: 3:00 pm – 4:00 pm
Office: (Open Lab) NRG 4232
Course Description: An introduction to computer concepts, logic, and computer programming. Includes designing, coding, debugging, testing, and documenting programs using a high-level programming language. Pre-requisite: B - Reading & Math
Approved Course Text:
Text: An
Introduction to Programming with C++ by Diane Zak (Thompson Course Technology, 4th edition 2005) ISBN
0-619-21728-6
Instructional
Methodology:
The course will have 2.5 hours of lecture and 50 minutes of lab per week. If the students are unable to finish the labs or projects within the allotted time, they will need to use an ACC open lab or other computers available to them at home or work to complete the assignment.
Course Rationale:
This is an entry level programming course designed to teach students the basics of program design, coding and testing. The purpose of the course is to create hierarchy charts, flow charts, pseudo code and create test tables in the process of program design. A high level programming language (C++) is used to reinforce the concepts learned during design. This course is included in the following degree plans and certificates:
§ Associate of Applied Science – Computer Programming.
§ Associate of Applied Science – Local Area Network Administration.
§ Associate of Applied Science – Microcomputer Application Support.
Course Objectives/ Learning Outcomes: After the successful completion of this course, a student should be able to:
1. Demonstrate problem solving skills by developing algorithms to solve problems incorporating the concept of data abstraction in a computer program.
2. Design programs according to specifications by creating flow charts, IPO charts and pseudo code.
3. Implement a simple program by writing the code, testing the code and debugging the program.
4. Incorporating the use of sequential, selection and repetition control structures into a program.
5. Demonstrate an understanding of the design and implementation of functions and the passing of parameters to simplify the solution of large problems and to promote the concept of code reuse.
6. Implement programs using sequential input and output files.
7. Demonstrate an understanding of the use of the array data structure.
Grade Policy: Grade will be based both on concepts and practical application. Tests, and homework assignments may be a part of the grade. An overall grade will be assigned on the following grading scale”
900 - 1000 points A
800 - 899 points B
700 - 799 points C
600 - 699 points D
0 - 599 points F
Make up Tests may or may not be given at the discretion of the instructor. Tests can be missed only for extreme circumstances (Example: hospitalization). Please contact the instructor IN ADVANCE if you will miss one of the Tests. There are NO make up Tests for un-excused absences. There will be NO make up for Test 3 or Lab Test 3 after the dates the tests are given under any circumstances. Students will be allowed to bring one(1) page (8 ½ x 11, both sides) of notes to the Tests.
Lab and Programming projects are due at the end of the lab period on the due date.
Program designs due on a Thursday will be returned to the student on Tuesday and the code for that project will be due on the following Thursday. A late penalty will be assessed (2 points per day for each class day late) for all assignments. Individual programming projects (7 projects) are divided into two phases, design (20 points) and coding (20 points). Team programming projects (2 projects) are divided into two phases, design (20 points) and coding (20 points) for each team member. Program designs must be submitted and graded before the program code can be submitted and graded. Formats for the design and coding are found in the Project Guidelines.doc file. Grades will be based both on concepts and practical application. Tests and programming projects are part of the grade.
The grade will be divided as follows:
3 Written Tests (100 pts ea)......... 300 points
3 Lab Tests (100 pts ea).............. 300 points
Visio Exercise................................ 20 points
First Program Exercise ………….. 20 points
Programming Projects (9 @ 40) .. 360 points
“Acts prohibited by the college for which discipline may be administered include scholastic dishonesty, including but not limited to cheating on an Test, plagiarizing, and unauthorized collaboration with another in preparing outside work. Academic work submitted by students shall be the result of their own thought, research or self-expression. Academic work is defined as, but not limited to tests, , whether taken electronically or on paper; projects, either individual or group; classroom presentations, and homework”.
· Class Participation: Each student is strongly encouraged to participate in class. In any classroom situation that includes discussion and critical thinking, there are bound to be differing viewpoints. These differences enhance the learning experience and create an atmosphere where students and instructors alike will be encouraged to think and learn. On sensitive and volatile topics students may sometimes disagree not only with each other but also with the instructor. It is expected that faculty and students will respect the views of others when expressed in classroom discussions.
· Student with Disabilities: Each ACC campus offers support services for students with documented physical or psychological disabilities. Students with disabilities must request reasonable accommodations through the Office for Students with Disabilities on the campus where they expect to take the majority of their classes. Students are encouraged to make this request three weeks before the start of the semester. (Refer to the Current ACC Student Handbook).
· Attendance / Withdrawal: It is the student’s responsibility to complete a Withdrawal Form in the Admissions Office if they wish to withdraw from this class. The last date to withdraw for this semester is April 21, 2008. The instructor may involuntarily withdraw students for excessive absences or failure to take tests or complete assignments. It is not the responsibility of the instructor to withdraw the students from their class even though the instructor has the prerogative to do so under the above listed circumstances. The student is expected to participate in every class meeting (both lecture and lab). A student who fails to complete the work in this course and does not withdraw from the course will receive a grade of A, B, C, D, or F in accordance with the work that has been completed (a zero grade will be given for all work not submitted). Generally those students who simply stop coming to class without properly withdrawing will receive an F grade.
· Incomplete: A student may receive a temporary grade of “I” (Incomplete) at the end of the semester only if ALL of the following conditions are satisfied:
o The student is unable to complete the course during the semester due to circumstances beyond their control.
o The student must have earned at least half of the grade points needed for a “C” by the end of the semester.
o The request for the grade must be made in person at the instructor’s office and necessary documents completed.
o To remove an “I”, the student must complete the course by two weeks before the end of the following semester. Failure to do so will result in the grade automatically reverting to an “F”.
· Privacy Lab Work: The information that a student stores in his/her student volume (home directory) in the Computer Studies Labs may be viewed by their instructor for educational and academic reasons.
· ALERT: New state law for new students. No more than six course withdrawals
throughout your undergraduate education, regardless of how many colleges you
attend. Students who entered college before fall 2007 are not affected. Ask a counselor for details.
Course Schedule
Note: The instructor has the prerogative to change this course schedule as needed.
|
Week |
Topic |
Text Ref |
In The Lab |
Due Date |
|
1 |
Syllabus; Overview of a Personal Computer System & Design Tools |
Overview Ch 2 |
Lab Orientation |
1/15 |
|
2 |
Control Structures Data Types, Assignments |
Ch 1 Ch 3 |
Visio Exercise |
1/22 |
|
3 |
Variables, Memory, ASCII, Arithmetic Operators, binary numbers |
Ch 4 |
First Program Code |
1/29 |
|
4 |
Selection Structures, Comparison & Logical Operators, (if, else) |
Ch 5 |
Project 1 (Assign) Design |
2/5 |
|
5 |
Review/Catch up TEST 1 |
|
LAB TEST 1
|
2/12 |
|
6 |
Selection Structures (nested ifs), Switch structure, Formatting Output |
Ch 6 |
Project 1 Code Project 2 ( if else) Design |
2/19 |
|
7 |
Repetition Structures (pre-test - while & for loops) |
Ch 7 |
Project 2 Code Project 3 (nested if’s) Design |
2/26 |
|
8 |
Repetition Structures (post-test & nested loops) |
Ch 8 |
Project 3Code Project 4 (while loop) Design |
3/4 |
|
|
SPRING BREAK |
|
NO CLASSES |
3/11 |
|
9 |
Sequential Access Files |
Ch 13 |
Project 4 Code Project 5 (Team) Design |
3/18 |
|
10 |
Value Returning Functions |
Ch 9 |
Project 5 (Team) Code Project 6 (files) Design |
3/25 |
|
11 |
Review/Catch up TEST 2 |
|
LAB TEST 2 |
4/1 |
|
12 |
Void Functions |
Ch 10 |
Project 6 Code Project 7 (value functions) Design |
4/8 |
|
13 |
Arrays |
Ch 11
|
Project 7 Code
Project 8 (Team) Design |
4/15
|
|
14 |
Arrays String
Manipulation |
Ch 12 |
Project 8 (Team)
Code
Project 9 (Arrays) Design |
4/22 |
|
15 |
String
Manipulation Classes and
Objects |
Ch 14 |
Project 9 Code |
4/29 |
|
16 |
Review/Catch up TEST 3 |
|
LAB TEST 3 |
5/6 |