CSC133 - Introduction to Structured Programming

Summer 2003, Section 70, 6:00-9:00 TuTh, Curtis 104

Index: <Instructor> <Course Description> <Prerequisites> <Course Objectives> <Textbook> <Assessment Overview> <Assessment Detail> <General Policies> <Course Schedule>

Instructor

Norman Lippincott, Asst. Professor, Computer Science
Office: Curtis 105; Phone: 610-606-4666 ext. 3697
Office Hours: (See Web site)
e-mail: nlippinc@cedarcrest.edu
Web site: http://www2.cedarcrest.edu/academic/csc/nlippincott

Course Description

This course develops algorithmic design and problem solving using structural programming techniques and the 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, but general computer literacy and an understanding of high-school algebra is 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.

Assessment Overview

Grades for this course will be based on the following assessment items with weights as follows:

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
  • 90-92: A-
  • 87-89: B+
  • 83-86: B
  • 80-82: B-
  • 77-79: C+
  • 73-76: C
  • 70-72: C-
  • 67-69: D+
  • 60-66: D
  • 0-59: F

Assessment Details

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 (the first assignment will not involve implementation). Assignments are to be submitted in both electronic and printed form, and must include any appropriate accompanying documentation. Your instructor will provide instructions on submitting electronic copies of C++ programs over the Internet. 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

Tests 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.

General Policies

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.

Unless otherwise noted, work turned in late will be subject to any or all of the following:

Honor Philosophy

The Cedar Crest College Student Guide includes the following under Honor Philosophy, Community Standards for Academic Conduct, Academic Integrity:

Academic integrity and ethics remain steadfast, withstanding technological change. Cedar Crest College academic standards therefore apply to all academic work, including, but not limited to, handwritten or computer-generated documents, video or audio recordings, and telecommunications.

All Cedar Crest students 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.

Attendance

Regular attendance is an important factor contributing to the student's success in the class. Although much of the material covered in class comes from the textbook, some course content comes from the 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 the student is 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.

Classroom Protocol

The Cedar Crest College Student Guide includes the following under Honor Philosophy, Community Standards for Academic Conduct, 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 behavior that might disrupt instruction and/or compromise students' access to their Cedar Crest College education.

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.

Class Visitors

Anyone not registered for the course who wishes to sit in as a visitor must obtain permission from the instructor in advance. Class visitors are to adhere to the same classroom protocol as is expected from registered members of the class. For classes held in a computer classroom, visitors are not to use the computers in class.

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 will not be granted to compensate for any violation of the Honor Philosophy (see policy on Honor Philosophy). Extra credit assignments will be directly related to the material that was the source of difficulty for the student, and give the student a chance to show that she has, in fact, overcome that difficulty.

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.

Course Schedule

The following is a tentative schedule for the course and may be adjusted as necessary throughout the semester.

Date Topic
5/20 Course Intro
Ch. 1; Overview of Programming and Problem Solving
Ch. 2; C++ Syntax and Semantics, Program Development Process
Ch. 3; Numeric Types, Expressions, and Output (sec. 3.1-3.7)
5/22 Ch. 4; Program Input and the Software Design Process (sec. 4.1-4.5)
5/27
5/29
Ch. 5; Conditions, Logical Expressions, and Selection Control Structures
Ch. 9; Additional Control Structures (sec. 9.1)
6/3 Test 1
6/3
6/5
Ch. 6; Looping
Ch. 9; Additional Control Structures (sec. 9.2-9.3)
6/10
6/12
Ch. 4; Program Input and the Software Design Process (sec. 4.9)
Ch. 7; Functions
Ch. 8; Scope, Lifetime, and More on Functions
6/17 Test 2
6/17
6/19
Ch. 12 - Arrays (sec. 12.1, 12.3-12.6)
6/24 Sorting and Searching
6/26 Final Exam

Assignments

No. Assigned Due
1 5/20 5/22
2 5/22 5/27
3 5/27 6/3
4 6/3 6/10
5 6/10 6/12
6 6/12 6/19
7 6/19 6/24

Index: <Instructor> <Course Description> <Prerequisites> <Course Objectives> <Textbook> <Assessment Overview> <Assessment Detail> <General Policies> <Course Schedule>