CMPS 2010 Programming I: Fundamentals Spring 2019
Gordon Griesel
Office: Sci III 337
Email: gordon@cs.csub.edu
See my schedule for office hours and class times
Course web site: https://www.cs.csub.edu/~gordon/2010/
Class meets:
MWF  9:00am - 9:50am  in Sci-III 311 (lecture )
Thur 7:20am - 9:50am  in Sci-III 311 (lab )

Course Description
from the catalog...
Introduces the fundamentals of procedural programming and object-oriented
programming. Topics include: data types, control structures, functions, arrays,
I/O, pointers and dynamic memory allocation, and features of object-oriented
programming. The mechanics of compiling, linking, running, debugging and
testing within a particular programming environment are covered. Ethical issues
and a historical perspective of programming within the context of computer
science as a discipline are given. Each week lecture meets for 150 minutes and
lab meets for 150 minutes. Prerequisite or Corequisite: MATH 1040 or 1050 or
1060 or 2310 or 2510. Units: 4

ACM/IEEE Body of Knowledge Topics
(CS-PF1/CE-PRF1,2) Fundamental programming constructs and paradigms
(CS-PF2/CE-PRF3) Algorithms and problem solving
(CS-PF3/CE-PRF4) Data structures (Introduction: basic types, strings and arrays)(CS-SP1/CE-PRF0) History of computing

Textbook
Starting Out with C++: From Control Structures through Objects 
Author: Tony Gaddis
Publisher: Pearson
Edition: 9th
ISBN-13: 978-0134498379
ISBN-10: 9780134498379
(8th edition is acceptable)

Material Covered
Chapter 1 Introduction to Computers and Programming
Chapter 2 Introduction to C++
Chapter 3 Expressions and Interactivity
Chapter 4 Making Decisions
Chapter 5 Looping
Chapter 6 Functions
Chapter 7 Arrays
Chapter 8 Searching and sorting arrays
Chapter 9 Pointers
Chapter 10 Characters and strings
Chapter 11 Structured Data
Chapter 13 Introduction to Classes
Chapter 14 More About Classes

Grading Policy

Weekly assignments 50% . labs . homework . quizzes . attendance Exams 25% Final exam 25% ------------------------ Total 100% Grading scale used during the semester... A 93% A- 90% B+ 87% B 83% B- 80% C+ 77% C 73% C- 70% D+ 67% D 63% D- 60% F 0%

Attendance Class attendance is both recommended and required. Missing a class period can cause a zero score for the following assignment types: - lab assignment - pop quiz - assignment given verbally - hands-on coding assignment - participation exercise - project presentation - others that may not be listed Attendance is taken before class begins. When the "bell rings", you should be in your seat and ready to go. Note: Current time is determined using an Andriod phone which runs about 15-seconds behind the official U.S. time presented on www.time.gov. Plan your time using time.gov and never be late. Attendance scoring: If you miss one class session, no big deal. The second class missed causes a deduction of 1/2 percent to your overall course grade. The count then starts again and every second class missed causes a 0.5% deduction in your grade. If you arrive late to class once, no penalty. The second late arrival causes a deduction of 1 percent to your overall course grade. The count then starts again and every second late arrival causes a 1.0% deduction in your grade. Labs Labs are hands-on assignments designed to be done in the classroom on classroom computers. You may install the necessary components on your own laptop computer, and bring it to class. - Attendance is required for any credit. - Full attendance is required for full credit. Full attendance is defined as coming to class on-time and working throughout the entire lab session. Lab assignments are due by the end of the lab period. Do not arrive late to class and then ask another student to help you with the assignment. This can result in a quick score of zero. Homework Homework assignments and due dates will be posted on the course website. It is common for a lab assignment to be extended into a homework assignment. Missing a lab session can cause a student to fail both the lab and homework for that week. Homework assignments will be posted on the course website. Homeworks usually consist of writing several programs. Full credit requires the following: - Program must have the correct file name. - Programs must compile with no warnings or errors. - Program must run. - Your name must be found in a comment at the top of the program file. - Coding style must follow standards set in class lectures. - Program functionality requirements must be met. - Other details specific to the assignment. Late homework will not be accepted. Sharing of assignment files is not allowed. If you miss a class session, do not ask for or accept the completed or partially-completed assignment files of another student. This will result in a score of zero for all students involved. Instead, ask your instructor how to get caught-up with the class. Quizzes A quiz is a short exam that covers current material from reading, lecture, lab, homework, and project material. Quizzes can be online or written. A quiz can be given at any time during any class session. This is sometimes referred to as a pop-quiz. Exams Exams will be announced in advance. Midterm exams will be given at approximately weeks 7 and 12. A midterm exam can consist of the following: - written exam - hands-on programming exam A final exam will be scheduled during the designated time block for the semester. The exact date/time will be posted. All exams require on-time attendance. Late Assignment Policy Assignments submitted late are not accepted and receive a score of zero. Time Conflicts Time conflicts are not allowed. Your own personal schedule must allow you to arrive on-time to class, and stay for the entire class period. If you have a time conflict, you should disclose it to the instructor on the first day of class. CMPS-2010 is a hands-on course taught in-person in the classroom by your instructor. This course is in no way an on-line course. In-class assignments are not to be done at some remote location. Accommodations Students requiring accommodations should speak with the instructor at the start of the course. To make arrangements for accomodations, please contact SSD at the following link: SSD Classroom Behavior - On 9/1/2017 CSUB became a smoke-free and tobacco-free campus. Please do not smoke, vape, chew, or spit in the classroom. - Please do not wear headphones or earbuds in the classroom. Your instructor reserves the right to ask you to remove your headphones inside the classroom. - Please do not use your cellphone during class time. - Please do not walk in front of the instructor while a lecture is in progress. - The use of an electronic recording device is not allowed. Recordings Under California Education Code Section 51512, it is illegal for any person, including a student, to use an electronic device to record what is happening in the classroom without the consent of the instructor. It is a felony offense. The instructor for this course does not give consent for recordings of any kind. If a disability requires you to record a class session, then please contact SSD so accommodations can be made. Academic Integrity Policy: All work done in this course is individual work. Please do not share your work with other students. You may discuss assignments with other students, but sharing of source code is simply not allowed. Refer to the Academic Integrity policy printed in the campus catalog and class schedule. Violations are enforced in accordance with the Department's policy on academic honesty. Absence from class A student's responsibilities include attending classes. If you miss a class, it is your responsibility to inform Gordon of the reason for the missed class (documentation may be required) and to arrange to make up any missed assignments, exams, quizzes, and class work, to the extent that this is possible. Excusable absences include, but are not limited to: Illness, injury, death of an immediate family member, etc. See a complete list at CSUB Catalog page 64. Your instructor reserves the right to amend this syllabus during the semester.