Robert Hillyard
Office: Darwin Hall 31
Phone: 664-2961
email: hillyard@cs.sonoma.edu
Department Office: Darwin Hall 121 - Phone: 664-2667
Office Hours:
Monday and Wednesday 12:00-1:00pm
Monday and Wednesday 6:00-7:00pm
Other times by appointment.
Class Meetings:
Lecture | Mon/Wed 7:00-8:15pm | Darwin 2 |
Lab Section 1 | Mon. 1:00-3:50pm | Darwin 16 |
Lab Section 2 | Tue. 9:00-11:50am | Darwin 16 |
Lab Section 3 | Tue. 1:00-3:50pm | Darwin 16 |
Lab Section 4 | Wed. 1:00-3:50pm | Darwin 16 |
Course Overview:
The goal of CS 150 is to develop a strong foundation in the fundamentals of problem solving, computer programming and software engineering. The C++ programming language and the object-oriented paradigm will be used to illustrate these concepts. The lecture will focus on understanding the theory. The lab sections are used to reinforce the concepts introduced in lecture and to gain programming experience. The programming projects test your ability to apply the theory. This is a four (4) unit course. It satisfies the SSU General Education category B3 requirement. It does NOT satisfy the category B lab activity requirement.
Course Materials:
Prerequisites:
Math 45 and computer literacy or consent of instructor.
Important Dates
Wednesday, Feb. 6 | Last day to DROP courses |
Friday, Feb. 8 | Last day to ADD courses |
Friday, March 29 | Last day to WITHDRAW from courses |
Week of May 21 | Final Exam |
Course work:
Grading
Assignments (Labs, Projects, Homework) | 45% |
2 quizzes - 15% each | 30% |
Final exam | 25% |
Each student must separately earn a passing grade on the assignments and the examinations in order to pass the course. Your course grade will not be greater than the scores acheived on the test. This means that the assignments portion of your grade can not raise your course grade. For example test scores = 75% and Assignment scores = 100% your grade would be a C. On the other hand, your Assignments score can lower your course grade. For example test scores = 90% and Assignment Scores = 50% your grade would be a F. Students may take this course CR/NC by making a specific request prior to the census date. Note that CS majors must take this course for a grade. University guidelines regarding the grade of Incomplete will be strictly adhered to.
Cheating and Plagiarism
Cheating and Plagiarism will not be tolerated - be sure to read and understand my policy on cheating and plagiarism.
|
|
|
|
Course Overview, Computer Systems, Computer Programming Overview
Elements of a simple program, C++ Program Development, Programming style, Program Errors |
1.1 - 1.4 2.5 |
|
Identifiers, Variables, Assignment statements, Basic Input
and Output, formatting output Simple Data Types and operations |
2.1, 2.2 2.3 |
|
Arithmetic Expressions, Precedence Rules, Compound Assignment,
Increment and Decrement Operators Type Compatibility and conversion Controlling Program Flow - Branching and Looping, Boolean Expressions and operations, |
2.4, 7.1 |
|
Feb. 18 - Presidents day - no class
if/then/else statement, Multiway Branches, |
7.2 - 7.4 |
|
While loops, for loops, break statement | 7.2 - 7.4 |
|
switch statement Using built in libraries, Preprocessor Directives |
3.1, 3.2, 3.3 |
|
Quiz 1
Programmer-Defined Functions |
3.4, 3.5, 4.1 |
|
More on functions and parameters, tracing program
execution, Value Parameters Reference Parameters, Mixed parameters Program Testing (Stubs and Drivers), Function debugging, Function Overloading |
4.2, 4.3, 4.4 3.6 |
|
Files I/O and Streams (Introduction to Objects
and Classes) Processing numeric data, Streams as function parameters Processing character data, predefined char functions |
5.1, 5.2, 5.3 |
|
Spring Recess - No Class | |
|
Arrays - Declaration, Initialization, Processing and Access
Partially filled arrays, searching and sorting |
9.1, 9.2, 9.3 |
|
Character Arrays - cstrings, C++ String Class Quiz 2 |
10.1, 10.3 |
|
User-defined Types: Classes, Member Variables, Member Functions, Constructors, Abstract Data Types
Classes - friend functions, non member functions |
6.1, 6.2, 6.3 8.1 |
|
Operator overloading, Separate compilation, using preprocessor directives
Arrays and Classes, Copy Constructor |
8.2, 9.4 11.1 |
|
Pointers, pointers and arrays, Dynamic memory, dynamic arrays
Classes and dynamic arrays |
11.1, 11.2, 11.3 |
|
Copy constructor, Destructor, overload the assignment ("=")
operator Review |
|
** Final Exam ** week of May 21 |
| Robert Hillyard | SSU | CS Dept | CS 150 |