Course Description
This course is an introduction to computer programming. Its primary objective is to teach problem solving using the C++ programming language. Emphasis will be placed on structured procedural programming with an introduction to object-oriented programming.This course is designed primarily for computer science and related transfer majors, but it is also suitable for non-CS students.
Instructor
Name | Mark Brautigam |
mbrautigam1@ohlone.edu | |
Phone | 408-209-9641 |
Office Hours | Mondays, NC 2318, 6:30–7:00 pm or 9:05–9:35 pm |
Lab
The lab session is mandatory. It takes place on the Newark Campus on Monday evenings, 7:00–9:05 pm, in room NC 2318.Office Hours
Like other part-time faculty, I do not have an office on campus. I will hold office hours either one half hour before class (6:30–7:00 pm) in the classroom, if the classroom is available at that time; or one half hour after class (9:05–9:35 pm).Contacting Me
Please call me at my number above only in an emergency. I am teaching classes most of the day and evenings, so I rarely answer my phone or even have it turned on. If you are going to miss class for any reason, it is best to send me an email beforehand.I will probably not check my Ohlone email very often, so it is probably better to send (only important) email to my personal email address: markb@mixed-up.com.
Prerequisites
Math 152 (Algebra II) or Math 153 (Intermediate Algebra).Textbook
We will be using this free online textbook: How to Think Like a Computer Scientist, which is as good as many other textbooks that cost a lot of money. Several of the other sections of CS 102 are also using this textbook.Attendance
Monday evening lab attendance is mandatory. The college has limits on how many classes you can miss without being automatically dropped. Usually you can miss only as many class meetings as there are in one week. For this class, this means you can be dropped after missing only two class meetings. Please consult the official school policies for details. If you are going to miss class, it is best to let me know by email before class starts.You will turn in all your exams and homework online, and there will be a window of time, so you will never miss an important exam, quiz, or homework due date by missing class. But if you miss class, it is up to you to find out what we covered in class. I usually post any PowerPoint presentations online immediately before or after class.
Canvas
Ohlone College is no longer using Blackboard. Lectures and assignments will be posted on Canvas and you will turn in your homework using Canvas. Please make sure you know how to use it. https://ohlone.instructure.comDiscussion Board
The discussion board is a way of making sure you get timely answers to questions from me and from your classmates. It is also a way I gauge your participation in the online portion of this class.Schedule
The folloiwing schedule is tentative. We may make changes as necessary.Week | Date | Chap. | Topic |
---|---|---|---|
1 | Aug. 29 | 1 | Introduction to Computers and Programming |
2 | Sept. 5 | 2 | Variables, Constants, Expressions, Statements, Assignment |
3 | Sept. 12 | 3 | Using Functions |
4 | Sept. 19 | 4 | Conditionals |
5 | Sept. 26 | 5 | Writing Functions |
6 | Oct. 3 | 6 | Loops |
7 | Oct. 10 | – | Review |
8 | Oct. 17 | – | Midterm Exam |
9 | Oct. 24 | 7 | Strings |
10 | Oct. 31 | 8–9 | Structures |
11 | Nov. 7 | 10 | Vectors |
12 | Nov. 14 | 11 | Member Functions |
13 | Nov. 21 | 15 | File I/O |
14 | Nov. 28 | 14 | Classes |
15 | Dec. 5 | 12–13 | Vectors of objects and objects of vectors |
16 | Dec. 12 | – | Final Exam |
Student Learning Outcomes
Upon successful completion of the course, students will acquire the capability to:- Employ the basic syntax and semantics to write programs.
- Manage program flow by using conditional and iterative structures.
- Construct programs modularly from subroutines/functions.
- Construct programs with arrays, pointers, and other structures.
- Demonstrate basic stream and file Input/Output.
- Apply software development methodology to programming projects.
Assignments
There will be programming assignments every week. Reserve 8 hours per week for this class outside of the Monday lab session.Quizzes
There will be weekly quizzes. The quizzes will be available on Canvas and they will be scored by the system.Exams
There will be a two-part midterm exam. One part will consist of multiple-choice questions and will be scored by computer. One part will require that you write a working C++ program.There will be a two-part final exam. One part will consist of multiple-choice questions and will be scored by computer. One part will require that you write a working C++ program.
Grading
Grading will be based on these activities:Weekly assignments | 25% |
Weekly quizzes | 25% |
Midterm exams | 20% |
Final exams | 20% |
Participation | 10% |
Grades will be assigned as follows:
A | 90 –100 |
B | 80 – 89 |
C | 70 – 79 |
D | 60 – 69 |
F | 0 – 59 |