Allan Knight
Email: [email protected]
Phone: (805) 289-6489
Office: #SCI-356
Office Hours: MW 11:30 AM - 1:00PM & TR 9:30 AM - 12:30PM
This course introduces the student to the concepts of object-oriented programming. The course reviews control structures and data types with emphasis on structured data types and array processing. It introduces the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, analysis of algorithms, and an introduction to software engineering issues. A complete object-oriented development framework is presented that encourages extensibility, reusability, and manages complexity.
TR 3:00 PM - 4:50 PM (SCI-226)
C++ for Everyone, Edition: 2, Cay Horstmann. ISBN:9780470927137. It is also on Amazon . The textbook is required.
CSLO1 - Analyze problems and design algorithms in pseudo-code.
CSLO2 - Read, describe, and trace the execution of programs written in the C++ language.
CSLO3 - Use given classes and virtual functions in a class hierarchy to create new derived classes and overriden functions that use them.
CSLO4 - Write modular C++ code using classes in an OOP approach for a given algorithm.
The mid-term exam will be held in the usual class room, SCI-226, from 3:00P to 4:50PM on Tuesday, March 3, 2020.
The final exam will be held in the usual class room, SCI-226, from 2:45PM to 4:45PM on Tuesday, May 12, 2020.
Remember, the following Thursday, May 14, 2020, there is no class or lecture.
For all exams, both the mid-term and final, you will need to bring:
- A writing utensil (No. 2 Pencil)
- An 8.5" X 11" sheet of paper with your notes (you can put notes on both sides),
- A Scantron 882-E form and that's it.
There will be no need for a calculator. As a matter of fact, if you think you need a calculator, you're probably doing something wrong.
Grades for the current semester are available on Canvas. At the end of the semester, the total number of points awarded is added up and grades are given on the basis of the percentage of that total. Remember that Canvas may inflate your grade if you do not select 'Treat all ungraded assignments as 0'. The grade basis is:
Grade | Percent | |
---|---|---|
A | ≥ | 88% |
B | ≥ | 78% |
C | ≥ | 68% |
D | ≥ | 58% |
F | < | 58% |
Your grade is based on how you do on programming assignments, participation, and the mid-term & final examinations. Each of these items are weighted when calculating your final grade. The following table gives these weights:
Type | Weight |
---|---|
Participation | 10% |
Quizzes | 10% |
Programming Assignments & Labs | 30% |
Mid-term Examination | 20% |
Final Examination | 30% |
Total | 100% |
-
I use 88% rather than 90% so I can give a higher grade to those students who are close. This means that if you are at 87.99% you are not close to an "A".
-
This class is exam, quiz, and programming assignment oriented. You must successfully complete all of the exams, quizzes and programming assignments in order to get the maximum out of this class.
-
Programming assignments are turned in when they are submitted using GitHub. No credit will be given for any other method of submission unless explicitly requested to do so.
-
Assignments with due dates on the Sunday following the last day of instruction cannot be turned in late.
The midterm and the final exam will be given on the dates announced on the web pages. Quizzes have a an hour time limit and are for the express purpose of making sure that you are keeping up on your reading. Quizzes can be taken twice (with a half an hour between attempts) but are due on the time and date specified and cannot be completed late. The lowest quiz score will be dropped before calculating the final grade for quizzes.
To get the most out of the class all assignments should be turned in before the time shown for each individual assignment. Do not make assumptions about when items are due! However, some items are accepted late using the procedure detailed below.
Programming Assignments
- Can be turned in late.
Quizzes
- Cannot be completed late.
Midterm
- Cannot be turned in late, unless prior arrangements are made at least 1 week in advance.
Final
- Cannot be turned in late, unless prior arrangements are made at least 2 weeks in advance.
Each assignment has a point value of 25 points. Students may turn in assignments late and have deducted one point for each 24 hour period the assignment is turned in after the due date (all times for due dates are Pacific Time). For example, a 25 point assignment turned in one second (or any measurable fraction of time) after the due date and time will have one point deducted from it. As each 24 hour period expires, another point will be deducted. At 7 days past the due date, and 7 points are deducted, the assignment can no longer be turned in. That means the 25 point assignment cannot be turned in after 7 24 hour periods has passed, and will be given a score of 0 points.
Additionally, the lowest programming assignment score will be dropped at the end of the semester. This means if you have turned in all assignments, except one, you will still get the highest possible score for programming assignments.
For the purposes of deciding when an assignment is completed, I will take the time of the commit in GitHub, not when the tests are run on the Jenkins CI server.
For those assignments that are turned in late but before the final cut off, you can apply extra credit points you earn through out the term to make up for these lost points. Again, see the section on Extra Credit for further details.
To allow students to be as successful as possible, there will be several opportunities to earn extra credit throughout the term. These points can then be applied to lost credit on assignments (whether late or not), and then to exams, in that order. No extra credit points will be applied to participation.
The following descriptions detail the different types of extra credit that will be given throughout the term.
-
Extra Credit Assignments: I will post near the beginning of the quarter at least two extra credit assignments where students can earn up to 5 points for each assignment by writing about specific historical events in computing. These events will be chosen by me, and posted to the Canvas site. Their due date will be at the end of the term.
-
Make Allan Cooler: On Slack there is a channel specifically named "Make Allan Cooler" participation in this channel with colloquialisms and contemporary song suggestions will earn students extra credit points, determined at the end of the term.
-
VC CS Club Events: Throughout the term the CS Club will be putting on talks from people in industry and academia. You can earn extra credit points for attending these events. Students must sign the attendance sheet at the talk to earn the extra credit points. I will post on the Canvas site which events qualify for extra credit.
Students with disabilities, who may need accommodations in this class, are encouraged to contact the EAC as soon as possible to ensure that such accommodations are implemented in a timely manner. Authorization, based on verification of disability, is required before any accommodation can be provided. The EAC can be contacted by telephone at 805-289-6300 or can be visited at the EAC office in the Administration Building on campus.