CSIS 10A -- C++ VERSION

Computer Science -- Beginning Programming

TUE-THUR  GRADES 

SATURDAY  GRADES 

Instructor:  Tom Rebold  

Phone: 645-1327       
Office: BH-104A
Office Hours: T/Th3:00-4:30PM, W2-3, F 2-3 
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. 

Course Master Plan     WeekdayClassPic1   2      Sat            

 

Dates

Tue/Thur

[Sat]

Lectures
&
Assignments
 
To access powerpoints and word docs, click on link and h
it CANCEL for any PASSWORD prompt

 Reading/Assignments

Hennefeld 2nd edition (Recommended)

8/25
8/27
[8/29]

Lec0.ppt    Class Overview
Lec1.ppt    C++ Basics             hello.cpp
Lec2.ppt    Basic Program structure
 

Chapter 1
Chapter 2
Assignment 1
Lab1Basics.cpp

Text, p32-33
Text, p34

9/1
9/3
[9/5]
Lec3.ppt    C++ More Basics, Data Types
 

Chapter 3
Assignment 2
Lab2MoreBasics.cpp

Text, Output Formatting p42
Text, p55
Text, p56-57

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]



Lec6.ppt    Strings, string I/O, output formatting
 

extra optional string review material:
     StringDrills.doc   SOLNS

Chapter 6
Assignment 5
Lab5Strings.cpp

Text, p134, p135
Text, p140, p141

Project1.doc   (alternate: prob21)
receipt.cpp    project1ver1.cpp

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 
Project 1                                   25 points Midterm                                  100 points
Project 2: part 1 only                 25 points
Final                                        100 points

                                                
------------

total                                         370 points

OPTION B—Challenges

12 Laboratories x 10 pts         120 points 
Project 1                                   25 points
Midterm Exam (score >95)    100 points
Project 2: part 1                         25 points
Project 2: part 2                         30 points
          
                                     ------------

total                                         300 points

 Grades for either option will be based on the following curve:
            A - 90%  
            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.

 Note on Academic Honesty 

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.