CSC 133 - Introduction to Structured Programming
Fall 2002 - Section 70 - Curtis 208 - M 6:30-9:00
Course Description
This course develops algorithmic design and problem solving using structural programming techniques and the C/C++ programming language. Programming emphasis will be on block structures and stepwise refinement of algorithms. Language syntax, data types, and control structures are presented. Data structures considered include one- and two-dimensional arrays. Search and sort algorithms are developed. Modular coding, parameter passage, correct use of local and global variables, and debugging techniques are stressed.
Prerequisites
None, although familiarity with Windows and basic computer literacy are assumed.
Course Objectives
Textbook
Dale, N., Weems, C., and Headington, M., Programming and Problem Solving with C++, 3ed, Jones and Bartlett, 2002. ISBN: 0-7637-2103-4.
Course Resources
Resources for this course will be placed in the following location on the campus network: T:\users\nlippinc\csc133
Software
This course uses the C++ programming language. Microsoft Visual C++ will be used in class and is available in many computer labs on campus. Any C++ compiler that is compliant with the 1998 ANSI C++ Standard may be used for assignments, however your instructor will supply usage instructions only for the Microsoft compiler.
Instructor
Norman Lippincott
Asst. Professor, Computer Science
Office: Curtis 105
Phone: 610-437-4471, ext. 6197
e-mail:
nlippinc@cedarcrest.eduSupplemental Instruction
SI Leader: April Moyer
e-mail:
amoyer@cedarcrest.eduHours: To be determined.
Through the Supplemental Instruction program, sessions are conducted outside of class for discussion of and help with course material. A Cedar Crest student who is a computer science major leads these sessions.
Office Hours
Monday: 1:00-3:00, 5:30-6:30
Tuesday: 5:30-6:30
Wednesday: 1:00-3:00
Friday: 1:00-3:00
Assessment Overview
Grades for this course will be based on the following assessment items with weights as shown:
Assignments (8) 45%
Tests (2) 30%
Final Exam 20%
Class Participation 5%
A final score is calculated as a weighted average and rounded to the nearest full percent. Final grade is then awarded according to the following scale:
93-100 A 73-76 C
90-92 A- 70-71 C-
87-89 B+ 67-69 D+
83-86 B 60-66 D
80-82 B- 0-59 F
77-79 C+
Assessment
Assignments
Assignments will consist of one or more problems for which you will need to devise a solution and implement that solution as a C++ program. Assignments are to be submitted in both electronic (via e-mail or diskette) and printed form, and must include any appropriate accompanying documentation. Any C++ programs submitted that result in compiler errors from the Microsoft Visual C++ compiler will not be accepted.
Through programming assignments the student gains hands-on experience in programming and demonstrates ability to apply course material in problem solving situations, and ability to implement those solutions as computer programs.
Tests
Test for this course will be written and will consist of problems and short answer questions. Tests will be open-book and open-notes.
Through tests, the student demonstrates competency in understanding and applying programming concepts and techniques in limited specific situations.
Final Exam
The format for the final exam will be the same as that of the tests, but longer. The final exam is comprehensive.
Class Participation
Students who are active and attentive members of the class may receive up to 5 points for class participation. Students who engage in side conversations during class time should expect no more than 3 points for class participation. Students who engage in web browsing, e-mail, instant messaging, or other non-class related computer activity during class time should expect no more than 2 points.
Due Dates and Late Work
Assignments are due at the beginning of class on the day they are due. By turning in assignments on time your work will be graded and returned in a timely manner (typically within one week), and with comments as appropriate.
Work turned in late will be subject to any or all of the following:
Extra Credit
Requests for extra credit will be handled on a case-by-case basis. Typically, requests for extra credit will be granted for the purpose of improving a poor test score or assignment grade. Extra credit assignments will be directly related to the material that was the source of difficulty for the student, and gives the student a chance to show that she has, in fact, overcome that difficulty.
General Policies
Honor Philosophy
The Cedar Crest College Student Handbook, Honor Philosophy part III, Community Standards for Academic Conduct, includes the following:
"As a student at Cedar Crest College, each student shall:
Unless specifically designated by the instructor, assignments for this course are individual assignments, not group projects. It is reasonable and appropriate for students to discuss an assignment outside of class, particularly for programming projects. However, the actual assignment work, whether programming or written, is to be one’s own. It is not appropriate to collaborate on programming assignments, nor is it appropriate to copy another student’s program (or other assignment), alter the program’s (or assignment’s) appearance (e.g. changing formatting, variable names, output text), and present it as your own individual work. Evidence of such behavior will be considered a violation of the Honor Philosophy and will result in a grade of zero for the assignment. A second offense will result in a grade of "F" for the course.
Classroom Protocol
Appropriate classroom behavior is implicit in the Cedar Crest Honor Code. Such behavior is defined and guided by complete protection for the rights of all students and faculty to a courteous, respectful classroom environment. That environment is free from distractions such as late arrivals, early departures, inappropriate conversations, and any other behaviors that might disrupt instruction and/or compromise students’ access to their Cedar Crest College education.
Attendance
Regular attendance is an important factor contributing to student’s success in the class. Although much of the material covered in class comes from the textbook, some course content may come from instructor’s notes or other resources, and may be delivered only in lecture form. The student is responsible for all material covered in class, and should arrange to get notes from another student in the event of absence from class. The instructor’s notes are not available for perusal by the students.
Your instructor keeps an attendance record for the class, however this record does not directly affect the student’s grade. If a student has excessive absence and is not showing responsibility for the course material, an academic performance notice will be issued to the Advising Center.
If a student will be absent on the day of a test, arrangements for a makeup must be made in advance of the test. Failure to do so will result in a grade of zero for the test.
Students with Disabilities
Students with documented disabilities who may need academic accommodations should discuss these needs with their professors during the first two weeks of class. Students with disabilities who wish to request accommodations should contact the Advising Center.
Computer Classrooms
When classes are conducted in computer classrooms, the computers are to be used only for activities directly related to the class. Use of class computers for other activities, such as web browsing, e-mail, games, instant messaging, and so on, is not permitted. Be aware that such activity not only distracts you from the class, but distracts other students as well. Students who engage in such activity during class will receive a reduced class participation grade.
Course Schedule
The following is a tentative schedule for the course and may be adjusted as necessary during the semester.
|
Mon |
Topic / Reading |
Assignments |
|
|
8/26 |
Ch. 1 – Overview of Programming and Problem Solving Ch. 2 – C++ Syntax and Semantics, Program Development Process |
Assignment 1 Due: 9/9 |
|
|
9/9 |
Ch. 3 – Numeric Types, Expressions, and Output |
Assignment 2 Due: 9/16 |
|
|
9/16 |
Ch. 4 – Program Input and the Software Design Process |
Assignment 3 Due: 9/23 |
|
|
9/23 |
Ch. 5 – Conditions, Logical Expressions, and Selection Control Structures |
Assignment 4 Due: 10/7 |
|
|
9/30 |
|||
|
Test 1 |
|||
|
10/7 |
Ch. 6 – Looping |
Assignment 5 Due: 10/28 |
|
|
10/21 |
|||
|
10/28 |
Ch. 7 – Functions |
Assignment 6 Due: 11/11 |
|
|
11/4 |
Ch. 8 – Scope, Lifetime, and More on Functions |
||
|
11/11 |
Ch. 9 – Additional Control Structures |
Assignment 7 Due: 11/25 |
|
|
Test 2 |
|||
|
11/18 |
Ch. 10 – Simple Data Types: Built-In and User-Defined |
||
|
Ch. 12 – Arrays |
|||
|
11/25 |
Assignment 8 Due: 12/9 |
||
|
12/2 |
|||
|
Sorting and Searching |
|||
|
12/9 |
|||
|
Final Exam |
|||