## Math 173: Object Oriented Programming

Instructor: Regis Smith (Èmāiĺ: **smithr** ăŧ **elac** dőt **edu**)

Office: G5-111W (323) 265-8887

Office Hours: Monday/Wednesday 4:30-6:00, Tuesday 2:00–4:35, and by appointment

Textbook: C++ Primer, 5th edition, by Lippman, Lajoie, and Moo (ISBN-13: 978-0-321-71411-4)

This course introduces the “object oriented” style of computer programming, using the C++ programming language. You will learn to read, interpret, and write computer programs using appropriate object oriented designs. Additionally, interesting mathematical examples will be presented throughout the course.

#### Assignments and Grading

You are required to complete eight programming projects, including a final project which covers all object oriented concepts discussed in class. In addition, there are lab assignments given every class meeting, two terms exams, and a final exam. You are required to write computer programs by hand (without the aid of a computer) on term exams and the final exam; however, accommodations will be made if you have a documented disability which precludes this (see below). Your final grade is a weighted average of the following.

- Programming Projects (30%)
- Lab Assignments (15%)
- Two Term Exams (30%)
- Final Exam (25%)

Final averages are rounded to the nearest tenth of a percent and assigned letter grades in the standard way: 90.0%+ A, 80.0%–89.9% B, 70.0%–79.9% C, 60.0%–69.9% D, 0.0–59.9% F.

Please note that most programming assignments take a considerable amount of time to complete. You must start early and program every day.

#### Students with Disabilities

Students with disabilities who need reasonable accommodation must provide verification of their disability to Disabled Student Program and Services (DSP&S). DSP&S is located in E1-106 and appointments can be made by calling (323) 265-8787. Upon verification of a disability, DSP&S will provide a letter outlining accommodations which the student must deliver to the instructor. If a student believes that accommodations offered are inappropriate or insufficient, (s)he should seek the assistance of the DSP&S Coordinator and/or the Vice President of Student Services.

#### Makeup Work

You are required to attend all lectures and labs. Absences are excused only if documentation is provided and verified by the instructor. If you have an excused absence, it is your responsibility to arrange a time to make up missed work. Late work is never accepted without a legitimate excuse.

#### Don't Cheat

You are encouraged to discuss homework assignments with others, but the code you write must not be copied from them or elsewhere. If you cheat on an assignment, your grade is 0 and you may be suspended from class for two days. If any one student cheats on any assignment or exam, then all opportunities for “extra credit” will be forfeit for the entire class.

#### Learning Outcomes

After completing this course you should be able to

- write clear, efficient, and correct computer programs to solve computational problems,
- debug and improve programs written by yourself and others,
- use external libraries in your computer programs,
- design and program C++ classes to solve problems, when appropriate,
- create models by designing and implementing abstract base classes with useful derived classes.

#### Topics

- Introduction and History
- Basic Arithmetic on a Computer
- Quiz on Basic Arithmetic
- Basic Input/Output
- Variables and Builtin Types (Textbook Chapter 2)
- Arrays (Texbook Chapter 3)
- Expressions and Statements (Textbook Chapters 3-4)
- Exam One
- Functions and Recursion (Textbook Chapter 5)
- File and Stream Input/Output (Textbook Chapter 7)
- Classes (Textbook Chapter 6)
- Dynamic Memory Allocation (Textbook Chapter 12)
- Exam Two
- More on Classes (Textbook Chapters 13-14)
- Inheritance (Textbook Chapters 15)
- SFML Library and Event Programming
- Final Exam