Computer Science 120 : Programming in C++


Last Revised: 07/31/97

COURSE SYLLABUS

TABLE OF CONTENTS
  1. Course information
  2. Meeting time and location
  3. Instructor
  4. Course Topics
  5. Required textbook
  6. Class discussion group
  7. References
  8. Tentative Reading Assignments
  9. Exams
  10. Grading system
  11. Attendance policy
  12. Scholastic dishonesty policy
  13. Additional information

Programming in C++

Unique number: 2210
Course number: Comp Sci 120
Description: 0-3-3. An introduction to program development. Emphasis is placed on problem analysis, algorithm development, data and control structures.
Prerequisite: Computer Science 100 or equivalent and Mathematics 111.

Table of contents

Meeting time and location

Days: Tuesdays and Thursdays
Time: 10:00-11:50 a.m.
Place: Nethken Hall 244

Table of contents

Instructor

Name: Dr. Melvin R. Corley
Office: Bogard Hall 249
Office hours: 1:00-3:00 p.m. TuTh
Phone: (318) 257-2859
E-mail: mcorley@engr.latech.edu

Table of contents

Course Topics

  1. Object-Oriented Program Development
  2. C++ Tools: Anatomy of a Simple Program
  3. Implementing Object Behaviors with Functions
  4. Decision Behavior: Selections and Alternatives
  5. Iteration behavior: Loops
  6. List Objects and Array-Based Implementations
  7. Producing Objects Through Classes
  8. First Class Objects
  9. Storage Management for Objects
  10. Inheritance and Reuse
  11. Polymorphism and Generic Classes
  12. Container Classes and Linked Lists
  13. Design Issues
Table of contents

Required textbook

Table of contents

Class Discussion Group

The discussion group latech.course.cs.120 should be used to ask questions of a general nature that would be of benefit to other class members. Class members are encouraged to post answers to questions.

Table of contents

References

Table of contents

Tentative Reading/Problem Assignments

The following list of dates and their associated reading/problem assignments is subject to change. In fact, it most certainly will change as new assignments are announced. Students should check this page frequently for the current assignments and extra-credit opportunities.
 
Class Schedule
DATE
TOPIC 
READING
HOMEWORK & PROGRAMS (due on this date)
Th 06/05 Introduction, course policies, coding standards, number systems, computer operations, data objects, identifiers, expressions, & statements. pp. 1-60 NONE
Tu 06/10 C++ streams, programming style, debugging pp. 60-85 Homework: Exercises 1 & 4 on p. 28 
Computer Problem 1: Enter and run the program shown on pp. 21-23 [Posted on 06/03/97]
Th 06/12 Functions, scopes & lifetimes pp. 87-120 Homework: Exercises 9, 10, & 11 on p. 79
Tu 06/17 Refining object-oriented designs, class libraries pp. 120-158 Computer Problem 2: Design and implement a solution to Exercise 13(b.) shown on pp. 30-31. Show your results for the following test cases: r=2, h=8; r=5, h=10; r=3.5, h=6.8 [Posted on 06/10/97]
Th 06/19 Decision behavior, Boolean expressions, typedefs, switch statements pp. 159-180
Tu 06/24 Conditional operator, recursion pp. 180-209
Th 06/26 Iteration behavior: loops pp. 211-268
Tu 07/01 List objects, arrays, sorting & searching pp. 269-306 Computer Problem 3: Design and implement a solution to Exercise 26 on pp. 208-209. Show your results for the following values of net taxable income: $1,500, $3,000 , $5,000, $8,000, and $15,000. [Posted on 06/20/97]
Th 07/03 HOLIDAY - NO CLASS
Tu 07/08 Strings, multidimensional arrays pp. 307-340
Th 07/10 Structs, classes, constructors pp. 341-379
Tu 07/15 Classes with class type member data pp. 379-428 Computer Problem 4: Design and implement a solution to Exercise 29 on pp. 339-340. Show your results for the following set of final examination grades: 54, 86, 67, 74, 92, 88, 58, 77, 67, 78, 95, 52, 77, 74, 67, 88, 90, 88, 70, 62. [Posted on 07/07/97]
Th 07/17 First class objects, inlining pp. 429-470
Tu 07/22 Storage management for objects, references, dynamic array creation pp. 471-498 Extra Credit: E-mail me one of the current Campus Comedy jokes from the Reader's Digest website before 10:00 a.m. on July 22. 
Computer Problem 5: Design and implement a solution to Exercise 23 on pp. 427-428. [Posted on 07/15/97]
Th 07/24 First class strings, classes with pointer data pp. 499-542
Tu 07/29 Inheritance and reuse, single & multiple inheritance pp. 543-576 Computer Problem 6: Define a class ClockTime whose objects store a time in hours, minutes, and seconds; use the 24-hour system to avoid having to otherwise distinguish between A.M. and P.M. Equip class ClockTime with the constructor ClockTime(int h=12, int m=0, int s=0) along with the following operators: +, -, +=, -=, ++, <<, and >>. Operators + and - add and subtract times as follows: imagine a clock set to the time of the first operand, then turn is forward or backward by the number of hours, minutes, and seconds given in the second operand. Operator ++ represents a clock tick: the expression ++t advances the reading of ClockTime object by one second and returns the new time. Operator >> reads three integers and interprets them as hours, minutes, and seconds; operator << prints a time in the form 12:55:30. Name your class files clktime.h and clktime.cpp. I will link them with a driver program to verify their proper operation. Here is a sample driver program for you to practice with. It may or may not resemble the one I actually use to test your clktime class. [Posted on 07/22/97]
Th 07/31 Applications of class hierarchies pp. 577-614
Tu 08/05 NO CLASS pp. 615-647
Th 08/07 Abstract base classes pp. 648-690
Tu 08/12 Container classes & linked lists pp. 691-782
Th 08/14 Case study: Typesetter class pp. 783-823 Computer Problem 7: Here is your last computer problem assignment in Envoy format. Don't wait to the last minute before starting this one. [Posted on 07/30/97]
Table of contents

Exams

Brief exams will be given at the beginning of each Thursday class meeting. The exam questions will be taken directly from chapter summaries and glossaries. The exact material to be covered on each Thursday exam will be announced at the end of the preceding Tuesday class meeting.

Final exam: NONE

Table of contents

Grading system

Table of contents

Attendance policy

Regular attendance is required at all class meetings.  Attendance will be checked by regularly scheduled and ad hoc exams.

Table of contents

Scholastic dishonesty policy

From page 25 of the 1996-97 Louisiana Tech University Bulletin:
Academic Misconduct
Academic misconduct at the University is determined by the faculty member under whom such misconduct occurs. The penalty for cheating and other forms of misconduct is also determined by the faculty member. This penalty may be an "F" in the course, but lesser penalties may be given at the discretion of the faculty member. The student has the right to appeal the charge of academic misconduct in accordance with the Final Grade and Appeals Procedure.
The academic misconduct policy for CS 120 can be found in the course policies.

Table of contents

Additional Information

Table of contents 
Summer Quarter 1997