CSC1100 SYLLABUS

 

Course: "Problem Solving and Programming in C++"

Days/Time: Tues & Thurs, 1:00 - 2:35

Location: Room 306 State Hall

 

Lecturer: Dr. Razvan Andonie

Office: Room 450, State Hall

Office Hrs: Tues & Thurs, 12: 00 – 1:00

Office Phone: (313) 5770662

E-mail: andonie@cs.wayne.edu

 

Labs: Tues & Thurs, 2:45 – 4:35

Location: Room 314 State Hall

 

Lab Assistant: Hima Lanka

Office: Room 412, State Hall

Office Hrs: Tues & Thurs, 12: 00 – 1:00

Office Phone: (313) 5776776

E-mail: hlanka@cs.wayne.edu

COURSE DESCRIPTION:

An introduction to the science and art of problem solving with computers.

PREREQUISITES:

CSC1010

TEXTS:

1. "Programming in C++", by Dale, Weems, Headington,

Jones and Barlett Publ., 1998.

2. "Discrete Mathematics and It's Applications", by K. Rosen.

READING ASSIGNMENTS:

Reading assignments in the Dale text will cover the material in chapters 1 through 14. Specific reading and their timing will be assigned as the course progresses. Reading assignments in the Rosen text are:

Chap 1: Sections 4, 5 and 6

Chap 2: Sections 1, 2 and 6

Chap 10: Sections 1 and 2

SOFTWARE:

Borland C++ V 5.0 for Windows NT is required for submission of all programming assignments, and is available for use on the computers in the Undergraduate Lab Room 308. Although programming assignments may be developed on any C++ platform compatible with the ANSI Draft Standard, the submitted version must be compatible with the Lab software. A schedule of the times the lab will be available for your use will be posted on the lab door and in the Department main office.

COURSE OBJECTIVES:

When you have completed this course, you should be able to do the following. Given the specification of a problem requiring the use of nested selection and repetition and 1-dimensional arrays:

*      Develop an Input/Output Analysis of the problem.

*      Use the method of top-down-design with step-wise refinement to design an algorithm (in a program design language) for solving the problem. The solution should be modular in form, utilizing several functions.

*      Translate the algorithm design into the C++ program.

*      Implement and test the program using the Borland C++ environment.

GRADING:

Grading will be based on the weighted average scores as shown below:

*      Combined Lab Assignments 50%

*      Midterm Exam 20%

*      Final Exam 25%

*      Pop Quizzes, Attendance 5%

This score will be translated into a grade as shown in the following table. A course curve may be implemented at the instructor’s discretion.

Average Grade

95 - 100 A

90 - 95 A-

85 - 90 B+

80 - 85 B

75 - 80 B-

70 - 75 C+

65 - 70 C

60 - 65 C-

55 - 60 D+

50 - 55 D

45 - 50 D-

0 - 45 E Failure

 YOUR RESPONSIBILITIES AS A STUDENT:

1. be at each class on time.

2. be prepared by having completed assigned homework problems and reading.

3. maintain a scholarly, courteous manner in class.

4. submit all assignments on time.

5. do your own work (we'll develop specific guidelines regarding this).

6. ask questions during the class

7. utilize my office hours and those of the T.A. for help

OTHER ITEMS:

*      Attendance in class is very important, and will count toward your grade. During each lecture period, information regarding assignments, due dates, explanation and clarification of assignments, and material that is not covered in the assigned texts will typically be presented. If you miss a class for any reason, it is your responsibility to become familiar with the missed material. Obtaining a copy of the class notes of a fellow student is recommended in such cases.

*      Be prepared to spend about 10 hours per week on this class, outside of the classroom.

 

Class Schedule

Lecture Topics

Chapter

Introduction

 

 

 

Programming and Problem Solving (Overview)

1

 

 

C++ Syntax and Semantics, The Program Development Process

 2

 

 

Arithmetic Expressions, Function Calls

 3

 

 

Program Input, The Software Design Process

 4

 

 

Conditions, Logical Expressions, Selection Control Structures

 5

 

 

Looping

6

 

 

Functions

7

 

 

June 22: Midterm Exam

 

 

 

Scope, Lifetime, More on Functions

8

 

 

Additional Control Structures

9

Simple Data Types

10

 

 

One-dimensional Arrays

11

 

 

Lists and Strings

12

Multi-dimensional Arrays

13

 

 

Student-directed Review

 

 

 

FINAL EXAM (covers entire course)