CMPS 2010 - Fall 2018
Derrick McKee
Office: Sci III 321, 654-2819
Office Hours: MonWedsFri 8am-9am, 10am-11am, 12:45pm-1pm*
Email: derrick@cs.csubak.edu
Contact Me
Course website:
http://www.cs.csubak.edu/~derrick/cs2010/
Course meets:
Section 1 - MWF 9:00am-9:50am and Th 7:20am-9:50am in Sci III 240
Section 3 - MW 1:00pm-2:15pm and Th 1:00-3:30pm in Sci III 240
Course Description:
Introduces the fundamentals of procedural programming and. Topics include
data types, control structures, functions, arrays, and file
I/O. The mechanics of compiling, linking, running, debugging and testing
within a particular programming environment are covered. The course also
indroduces the concepts of object-oriented programming. The course focuses
on the definition and use of classes, and the fundamentals of object-oriented
design [to an extent]. Continuing topics of OOP exist within cmps 2020.
Ethical issues and an historical perspective of programming within
the context of computer science as a discipline are given.
Other topics include an overview of programming language principles,
basic searching and sorting techniques, and an introduction to software
engineering issues.
ACM/IEEE Computer Science Curriculum (2013):
(CS-PL1/CE-PRF1,2) Object-Oriented Programming
(CS-PL2/CE-PRF3) Functional Programming
(CS-SDF2/CE-PRF4) Fundamental Programming Concepts
(CS-SDF3/CE-PRF4) Fundamental Data structures
(CS-SP8/CE-PRF0) History of computing
ABET Outcome Coverage:
3b. An ability to analyze a problem, and identify and define the computing
requirements and specifications appropriate to its solution.
Laboratory and homework assignments will require analysis of the
problem for successful completion of the assignments.
3c. An ability to design, implement and evaluate a computer-based system,
process, component, or program to meet desired needs. An ability to understand
the analysis, design, and implementation of a computerized solution to a
real-life problem.
Laboratory and homework assignments require analyzing the presented
problems, designing a solution to those problems, and implementing the
solution in a high-level programming language.
Prerequisite:
(1) MATH 0930 or (2) other satisfaction of the
Entry Level Mathematics requirement.
Textbook:
You may use any edition of the textbook.
8th edition: Starting Out with C++: From Control Structures through Objects,
Tony Gaddis. Publisher: Addison Wesley, 2014. ISBN: 0133769399
→9th edition: Starting Out with C++: From Control Structures through Objects,
Tony Gaddis. Publisher: Addison Wesley, 2017. ISBN: 0134498372
Topics to be covered in CMPS 2010:
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 9 Pointers
Chapter 10 Characters, Strings and the string Class
Chapter 11 Structured Data
Chapter 13 Introduction to Classes
Chapter 14 More About Classes
***********************************
Chapter 15 Inheritance, Polymorphism and Virtual Functions
Chapter 16 Exceptions and Templates
Chapter 17 Standard Template Library (STL)
View the calendar on the course website to see the order in which these
topics will be presented.
Attendance:
Students are responsible for their own attendance. The topics covered
in lecture will be listed on the course website. Lab attendance is not
required but is strongly encouraged.
Academic Integrity Policy:
Homeworks and labs may be worked on and discussed in groups. If the
assignment is a group assignment, the group can turn in one assignment
for the entire group. If the assignment is an individual assignment,
each student must turn in their own code; no direct copying is allowed.
Refer to the Academic Integrity policy printed in the campus catalog
and class schedule.
Services for Students with Disabilities:
To request academic accommodations due to a disability, please contact the
Office of Services for Students with Disabilities (SSD) as soon as possible.
They may be reached at 661-654-3360 (voice), or 661-654-6288 (TDD). If you
have an accommodations letter from the SSD Office, please present it to me
during my office hours as soon as possible so we can discuss the specific
accommodations that you might need in this class.
Tutoring Center and Open Use Computer Lab:
The walk-in computer lab in Sci III 324 is available for use by students
in this course outside of class time on a first come, first serve basis.
Priority in the lab is given to students who are completing assignments
for Computer Science and Computer Engineering courses.
Tutoring is also provided on a limited basis in the walk-in lab. A tutoring
schedule will be posted on the department website by the end of the first
week of classes. Students in this course may ask the tutors for assistance
on assignments. The tutors are not allowed to solve the assignment for you,
but they can assist with problems like cryptic compiler errors.
Labs:
Lab assignments will be posted on the course website. Labs are worth 4
points and usually involving writing a short programs. There will be one
lab assignment each week (THURS) that will be due before midnight.
Partial credit will be given for incomplete
labs. LATE LABS WILL NOT BE ACCEPTED.
The lowest lab grade will not be counted towards the overall lab grade.
(1 free lab). You may work in groups up
to three persons for labs only. If you choose to work in groups, I will
only need ONE copy of your group's lab assignment with each of your
group members' names commented at the top of your lab's source code.
Homework:
Homework assignments and due dates will be posted on the course website.
Homeworks are worth 4 points and consist primarily of a moderately sized
programming project related to the lecture material from that week.
Homework assignments will be due on the posted date before midnight.
Programs which do not compile may be given partial credit depending on the
severity of the error. No homework grades are dropped, however extra credit
assignment(s) may be given within the semester.
Late Policy:
Late homework/labs will not be accepted.
If there is a late policy that is posted for an assignment, then that policy
will apply for that particular assignment. Otherwise, an assignment
that is not submitted on the posted due date will not be accepted.
Labs/Homework Submission:
Assignments are submitted by saving a copy of your final source code
to the corresponding depository directory. The assignments' file name must be
exact. A server side script will run to extract the file(s) at the time
of the assignments' due date.
During lab days, once you have completed your lab, you may show the instructor
the assignment and have your assignment graded then.
Some homework assignments may be handwritten assignments, so either a hard
copy submission or a scanned copy of your assignment may be submitted via
email.
Allow at least one week after the assignment due date for the grade to be
posted. It is your responsibility to check to see if your assignment
has been received/graded and to contact the instructor if it has not been
received.
Out-of-class Time:
It is expected that students in a 4 unit course such as this will spend 10
to 15 hours each week outside of class working on assignments or reading
sections from the textbook. Several of the homework assignments in this
class will require approximately 10 hours to complete, so be sure to budget
enough time to complete the assignment before the due date.
Quizzes:
Quiz dates will be announced ahead of time, however they could be given at any
time during a Mon Wed or Fri lecture. On average there will be a quiz after
every 2 - 5 lecture days. Quizzes will consist of a few questions based off
lecture material, lab assignments, and/or homework assignments. Expected time
to complete will be about 10-15 minutes. Quizzes can not be made up.
Midterms:
Midterm 1 will be given during week 9, Thursday
Midterm 2 will be given during week 14, Thursday
** subject to change
Makeup midterms will not be given. Please contact the instructor if you
have a compelling reason for missing or rescheduling a midterm.
Final:
Section 1: The final is on TBA
Section 3: The final is on TBA
If you cannot make this time because it conflicts with another final or you
have more than two finals scheduled that day, contact the instructor ONE WEEK
in advance of the final to schedule an alternate time.
Homework / Lab Rubric | Description |
---|---|
4 | All criteria of the assignment was met with no compilation errors |
3 | Mostly all criteria of the assignment was met with no compilation errors |
2 | Partial criteria of the assignment was met with compilation errors |
1 | Little to no criteria of the assignment was met |
Grade Distribution | |
---|---|
Homework | 20% |
Lab | 10% |
Quizzes | 10% |
Midterm 1 | 20% |
Midterm 2 | 20% |
Final | 20% |
93% | A |
90% | A- |
87% | B+ |
83% | B |
80% | B- |
75% | C+ |
70% | C |
65% | C- |
60% | D+ |
55% | D |
50% | D- |
49% | F |