CSIS 10A -- C++ VERSION
Computer Science -- Beginning Programming
Instructor:
Tom Rebold ![]() Phone: 645-1327 Office: BH-104A |
Credit: 3 units Classroom: BC-208 Time:SECTION 0160: Tue/Thur 8 - 10:30 SECTION 1133: Sat 9-2 |
| Class
web site:
http://www.mpcfaculty.net/tom_rebold/CSIS10A.htm Tom Rebold's faculty HOME PAGE |
|
Cross Enroll at CSUMB How to Claim your Free MS Software Computer Majors Compared
Text:
Using C++: An Introduction to Programming, Hennefeld, et al, 2nd
ed, Brooks/Cole, 2003, ISBN 053439146X
(One Copy on Reserve)
Optional: Absolute C++, Walter Savitch, Addison-Wesley, 2002, ISBN 0-201-70927-9 (On Reserve in MPC Library)
Materials:
Storage media (floppy disk, thumb drive, etc) for shuttling programs
One 3-ring
binder, at least 1 ¾ " thick -- for storing program printouts
Tutoring:
1) Steve Bruemmer, our Instructional Tech, is available in BC202 M-F 9-5
Email: sbruemmer (at) mpc.edu.
Course description:
The
overall goal of this course is for you to learn the basics of programming
computers in an object oriented language. You
will gain a broad exposure to the elements of C++ and the techniques of problem
solving used by skilled programmers. You should already have some exposure to the elements of programming
from a class like CSIS 1 or your own self study. You will have the
opportunity to work in both the Microsoft Visual C++ environment and Unix.
Objectives--Students
will be able to
a)
Analyze a problem statement and design a solution for the problem.
b) Construct C++ computer code to implement the solution of the problem.
c) Debug and test the coded solution for syntax, logic and runtime errors.
d) Comprehend the factors involved with structured and object oriented
programming.
|
|
Lectures
To access powerpoints and word docs, click on link and h |
Reading/AssignmentsHennefeld 2nd edition (Recommended) |
|
8/25 8/27 [8/29] |
Lec0.ppt Class
Overview |
Chapter 1 |
|
9/1 9/3 [9/5] |
Lec3.ppt C++ More Basics,
Data Types |
Chapter 3 |
|
9/8 9/10 [9/12] |
Lec4.ppt If Statements,
Boolean Logic, operators |
Chapter 4 As3.doc Lab3If.cpp Text, p75,89,90 |
|
9/15 9/17 [9/19] |
Lec5.ppt Functions, void and
value returning Function Animation exra optional function review material: FunctionDrills.doc SOLNS cout vs return void vs value-return |
Chapter 5 Assignment 4 Lab4 Lab4Function1.cpp Lab4Function2.cpp Text, p124 |
|
9/22 9/24 [9/26] |
extra optional string review material: |
Chapter 6 Text, p134,
p135 |
|
9/29 10/1 [10/3] |
Lec7.ppt Loops, Count controlled and User
controlled |
Chapter 7 Assignment 6 Text, p174 Lab6Loops.cpp |
|
10/6 10/8 [10/10] |
Lec8.ppt Task Controlled Loops |
Chapter 8 Assignment 7 Lab7MoreLoops.cpp text, p200, p201 |
|
10/13 10/15 [10/17] |
Practice Midterm.doc Glossary of Programming Terms MIDTERM EXAM |
Practice Midterm Solutions |
|
10/20 10/22 [10/24] |
Project 2 Demo Lec9.ppt Advanced functions, Pass By Reference Examples PBRDemos.doc politic.cpp circle.cpp alpha3.cpp |
Chapter 9, 10.1 - 10.3 Assignment 8 Lab8Functions.cpp Lab8 extra (text p222,223) |
|
10/27 10/29 [10/31] |
Lec11.ppt Using files,
switch statement File processing algorithms -variables reading file data are arbitrary -algorithm for login |
Chapter 11, 12.1 - 12.2 As9.doc Lab9FilesSwitch.cpp accounts.txt |
|
11/3 11/5 [11/7] |
Project 2 ATM Design.ppt
Part1 Instructions.doc
|
Project2Part1.zip ASCII Banner Generator PROJECT 2 is DUE 12/13 |
|
11/10 11/12 [11/14] |
Lec13Arrays.ppt Arrays
and Sorting Lec14Sorting.ppt SortingAnimation Lab10GameOfLifeDemo.exe.doc Lab10GameOfLifeHint.doc Lab10GameOfLifeStart.cpp |
Chapter 13 and 14 As10.doc Lab10Array.cpp scores.txt put in same folder as Lab10 |
|
11/17 11/19 [11/21] |
Lec17Structs.ppt
Structs and Arrays of Struct Lec17B_ArrayOfStruct.ppt [optional: Overloading <<, >>, >] Project2 Part2 Instructions |
Chapter 17 As11.doc Lab11Structs.cpp accountsNew.txt put in same folder as Lab11 |
|
11/24 11/26 [11/28] |
OPEN LAB THANKSGIVING HOLIDAY--NO CLASS |
|
|
12/1 12/3 [12/5] |
L18and19 Classes.ppt
Intro to Classes and OOP |
Chapter 18 and 19 As12Classes.doc Lab12A_BalloonClassDemo.cpp Lab12B_TimeClassDemo.cpp Lab12C_AccountClassDemo.cpp |
|
12/8 12/10 |
L20.ppt Standard Class Layout (extra credit content) |
Extra Credit Assignment: Ch20 As13MoreClasses.doc Lab13A_BalloonClassFull.cpp Lab13B_StudentClassFull.cpp StudentData.txt |
|
12/17 [12/12] |
Final Review SOLNS FINAL EXAM THURS 8 - 10:30 SAT 9 - 11:30 |
Class Work:
To better suit the
needs of our diverse student population, there are two paths that a student can
choose in approaching the objectives for this class. The first path is for
students who need to spend time developing foundation skills and/or are not sure
they are majoring in Computer Science. The second path is for highly motivated
students who are committed to majoring in Computer Science or another technical
field, or just love a challenge.
Option B is only available to students who score a 95 or higher on the midterm exam. These students must also complete a more difficult version of the final project, but in return they will be excused from the final exam.
|
OPTION
A—Foundations
12
Laboratories x 10 pts
120 points
total
370 points |
OPTION
B—Challenges
12
Laboratories x 10 pts
120 points
total
300 points |
B - 80%
C - 65%
D -
50%
A portion of your
grade will will relate to how well your code is documented and whether you have
organized your work into your 3-ring binder.
Assignments and Programming projects are due at the start of class on the
scheduled due date. Late
homework will only be awarded 70% of its original value.
There will be many opportunities to gain extra credit points.
Homework Grading:
Each week there will
be a number of lab tutorials, and
individual programming problems. You are free to pick the assignments that match
your ability. For programming
problems, each program is worth 2 points if it works as specified and is
clear and properly commented.
One-half point will be deducted for each error.
Working with others on assignments is a good way to learn the material and is
encouraged. However, there are limits to the degree of cooperation that is
allowed in this class. Working together to find a good approach for solving a
programming problem is acceptable cooperation.
On the other hand, copying someone else’s work is cheating. Anything that
you hand in must be your own work. For assignment of penalties, there is no
difference between cheaters who copy others' work and cheaters who allow their
work to be copied.
Violators of this rule will be given zero points for the assignment or project involved. If you have any questions about what constitutes cheating, please ask.