Programming II: Data Structures
CMPS 2020 - Spring  2021
Michael Sarr
Monday and Wednesday nights 

Office Hours: 
I can work out a time for a voice or zoom appointment with you
email or call my voicemail to discuss

Email: (do not use any other address)
note this is NOT my account. I do not use that address.
you can use alpine on Odin to send me an email

voice mail: (661) 241-0724
Course web site: 

Course Description

Builds on foundation provided by CMPS2010 to introduce the concepts of
object-oriented programming. The course focuses on the definition and use
of classes and the fundamentals of object-oriented design. Other topics
include an overview of programming language principles, basic searching
and sorting techniques, and an introduction to software engineering issues.

Course meets 
during covid lectures will be pre recorded
there will be a live zoom session to discuss issues or answer questions
on Mondays and Wednesdays from 7 to 8:15 pm ( i will generally start it at 6)
Labs are due at 9pm on mondays and wednesdays

A solid understanding of the concepts covered in CMPS 2010

Starting Out with C++: From Control Structures through Objects, 8th edition. 
Tony Gaddis, Publisher Pearson, 2015, ISBN: 9780133769395

Data Abstraction and Problem Solving With C++
Carrano, Publisher Prentice Hall, 2012, ISBN: 978-0132923729

Academic Integrity Policy:
Each student must turn in their own code. 
The only code that should ever be turned in that the student did not create is the portions provided for you for that particular assignment by the instructor.

There is no such thing as "working together on something" or "lab or homework partners", EVERY lab and every homework should be 100% your own original code. 
Submission of a solution taken as a whole or any part from ANY source is unacceptable and will be considered plagiarism.
Do not share your solutions or ask for solutions from other students or tutors. 
Turning in any plagarized work may result in a failing grade for the course in addition to action by the Student Affairs Department.

Computer Lab:
The computer lab is not open in person, it is being done remote
please look at

Exams       30%
Final       30%
Quiz        20%
Assignments 20%

Grades will be posted on the course website, is is only an approximation of your grade for the class based on the assignments due to that date.
Check your email on odin when you log in as I may occasionally email individual students or the class as a whole. 
I will email you to your odin account only. 

Lectures will be pre recorded and available at the beginning of each week. 
It was requested if we could make the lecture and lab portions not rigid within a time frame so that it would be easier for students to schedule classes.
I did not make the lecture time manditory. The lab however is manditory, it is technically scheduled from 7 - 8:15 , you must be available for these sessions
you can complete the lab ahead of time but you will not be able to do it late. With the quizes cutting the lab period short it is highly likely you will not be able to complete 
the lab in the alloted hour so plan accordingly.

There are readings from the textbook each week.

Lab assignments will be posted on the course website. 
Labs will usually involve writing a short program(s). 
The labs are due at by the end of the lab period 8:15. 
Labs are required you will be required to log into the zoom meeting each night and ask to have your assignment reviewed, 
I may request that changes be made if it is not correct or complete. 

You may want to take a look or even start the lab prior to the start of the lab period such that you can ask questions in the zoom session and get the lab completed. 
If you do the lab ahead of time you can email me and I will try to look at in and review it prior to lab period. 
Late labs will not be accepted.

Homework assignments are designed to prepare you for the exams and the quizes. 

Understanding the concepts used in the homework will directly relate to Examination questions. 

If you stay current and do you homework on time I will help you when you are having issues, just email me and ask me to look at your current homework. Do not attach your homework files, i will look at them on the server. 
Your grade on a homework may come from the actual assignment as well as a quiz on the subject matter of that specific homework. 
Once graded you should find a file called grade.txt please read these for my feedback.

Late homework will NOT be accepted, it is automatically collected at the time it is due. I MAY allow you extra time to complete a homework if 
..1 you have worked on it prior to two days before it is due ,2 you contact me for help with any issues 2 days before the day it is due. 

Extra Credit:
The goal is to learn ,not to complete labs or homework.  There will not be any additonal opportunites for extra points later.


Assignment Submission:
On the course website there are directions to create an ~/assignments directory. Sub directories for each lab and homework will be created. 
All you have to do is complete your assignments in the correct directory by the time it is due. 
I will expect to go to your assignment directory and find all the files necessary to build and run your programs.

Exams and Quizes:
All exams and quizes will be in moodle.

There will ba a quiz every monday at 8pm at the end of the lab, they will be related to the homework and labs.

There will be 2 large examinations and a final, they will be posted on the main class page

If you cannot make it to any exam or the final let me know a week ahead of time so an alternate time can be arranged.
Missing an exam will result in a zero score.

missing a quiz will not be able to be made up, I may however drop the lowest quiz score.

Wednesday May 13 5:00pm-7:30pm

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 AT LEAST TWO WEEKS 
in advance of the final to schedule an alternate time.