Course web site: https://www.cs.csub.edu/~gordon/2020/
Course meets:
MWF 8:00am - 8:50am virtually on Zoom (lecture 31013)
Thu 7:20am - 9:50pm virtually on Zoom (lab 31012)
The topics below are the general subjects of the course, and will be introduced and discussed sequentially as the course progresses. Subjects could be added or removed. C++ object-oriented topics Templates Inheritance Polymorphism Virtual functions Data structures and algorithms Lists, arrays Sorting Stacks and queues Linked-lists Trees, binary trees Graphs, grids Heap, priority queue, heap-sort Dictionaries, hashing, hash tables Algorithm analysis, efficiency, Big-O notation
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)
A Common-Sense Guide to Data Structures and Algorithms By: Jay Wengrow Publisher: Pragmatic Bookshelf Pub. Date: August 3, 2017 Print ISBN-13: 978-1-68050-244-2 Pages in Print Edition: 220 about $40 on AmazonYou should already own the C++ book.
labs 15% *** homework 15% *** quizzes, etc. 10% ** Midterm exam-1 20% **** Midterm exam-2 20% **** Final exam 20% **** ------------------------- 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%
Zoom class sessions ------------------- Class sessions will be held online using Zoom. Class attendance could sometimes require student use of a webcam. The following statement is justification for requiring the use of a webcam by students, and was provided by CSUB administration. -------- Because nonverbal feedback is helpful in human interactions, I expect students in this class to keep their cameras on during synchronous portions of online instruction. With this in mind, please plan where you will be during class time so you can participate in a setting that is free from visual distractions. If you believe you have a legitimate reason not to have your camera turned on, please consult with me well in advance of the class period, and I will make a determination. -------- When class starts each day, you should be logged in to the Odin server. Many class sessions will include some programming or a task to complete using a text file on Odin. Attendance ---------- Class attendance is required. Log into Zoom a few minutes before our class time so that you are in class when the class period begins. Attendance is recorded using Zoom log files. Attendance marks: Late arrival to class - 1 mark Unexcused absence - 2 marks Each attendance mark reduces your overall course grade by 0.125% per mark. Examples: Arriving late to every class would cause a 7% grade deduction. Missing every class would cause a 15% grade deduction. Zoom log files are used to determine attendance marks. Labs ---- Labs are hands-on assignments to be done during a lab class period. Lab Rules: 1. Must not be late to lab. 2. Must work the entire lab period, unless excused by instructor. 3. Your program must compile and run at the end of lab period, when it is collected for scoring. A program that does not compile could receive a score of zero. Homework -------- Homework assignments are posted on our web page. Instructions will be given for each assignment. Homework Rules: 1. Your program must compile and run when it is due. 2. The homework source code files will be collected by the instructor. General requirements of all assignments --------------------------------------- Your assignments will usually be files stored on the Odin server. Your files must be stored inside your 2020/ directory, and in the proper subdirectory. Your 2020/ directory must be created using a script provided. The 2020/ directory is created so that your work is visible only to you and your instructor. Do not change the permission of the directory after running the provided script. Other general requirements: . Your name on the top line . Correct file name . Correct file location Programming assignments: . No compile warnings or errors . Program must run . Program output must be neat, clean, and complete. . C program code must follow the K&R coding style. . C program code must have consistent and correct indenting. Text file written assignments: . Your name on the top line . Neatly written text . Correct spelling and grammar Each assignment will also have some specific requirements in addition to those listed above. Final Exam ---------- A final exam will be given. A date and time for the final exam will be posted. Late Assignment Policy ---------------------- Late assignments will not be accepted and result in a score of zero. Individual Work Policy ---------------------- All work done in this course is individual work. Sharing of source code is not allowed. Possession of code written by other students is not allowed. Copying another student's work is plagiarism. Copying answers or source code from the Internet is also plagiarism. 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. Search for "University Absence Policy". Amendments ---------- Your instructor reserves the right to amend this syllabus during the semester. Amendments will be clearly marked. ------------ Amendment #1 ------------ Protecting your own source code Computer science students are expected to take reasonable precautions to safeguard their own program source code by setting file permissions on source files and directories to 700. This includes all source code files, not just files that are your assignments for the current semester. Failure to protect your source files with a permission of 700 will result in a deduction of 10% on all assignments. Continued refusal will cause the penalty to increase and eventually scores on all assignments will be zeros. On Odin the command to protect a file is: chmod 700 <filename> Protecting a directory is similar. ------------ Amendment #2 ------------ You are required to have a .forward file setup in your Odin home directory. This file must ensure that you can receive email to your Odin account, and then it is forwarded on to your CSUB email account. A .forward file is provided by your instructor. Contact your instructor if you need help with this.