Fall/Spring
Instructor: Alex St. Aubin
Office: TBE-B108
Email: alex.st.aubin@unlv.edu
Problem-solving methods and algorithm development in a high-level programming language. Program design, coding, debugging, and documentation using techniques of good programming style. Program development in a powerful operating environment. Three hours lecture and one hour lab. Prerequisite: MATH 127 or 128. 3 credits.
Fundamentals of C++ Programming by Richard Halterman December 2, 2018. (Available for free from the class Canvas website)
C++ Programming: From Problem Analysis to Program Design by D.S. Malik (Link for purchase on the class Canvas website)
Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
Upon completion of CS 135, students will be able to:
CS 135 includes a mandatory lab that is remote learning based and has two small assignments per week. The lab assignments provide additional programming practice and are intended to reinforce specific concepts from the lectures (due at the date and time specified on Canvas). Teaching assistants are available at set times during the week to provide assistance to students. See the lab syllabus for further details.
Grades will be based on the following:
Category | Weight |
---|---|
Lecture assignments | 15% |
Lab | 15% |
Exam 1 | 30% |
Exam 2 | 30% |
Final Exam | 10% |
Grades will be posted throughout the semester. Grading is as follows:
Grade | Percent | Grade | Percent |
---|---|---|---|
A | 100% - 93% | C | 76.99% - 73% |
A- | 92.99% - 90% | C- | 72.99% - 70% |
B+ | 89.99% - 87% | D+ | 69.99% - 67% |
B | 86.99% - 83% | D | 66.99% - 63% |
B- | 82.99% - 80% | D- | 62.99% - 60% |
C+ | 79.99% - 77% | F | 59.99% - 0% |
Note: grades are not rounded.
Throughout the semester, you will be provided with a series of carefully crafted assignments, including homework, worksheets, and other relevant materials (collectively referred to as "assignments"). These assignments have been designed to enhance your mastery of course content and to promote active engagement with the course material.
It is important to note that no makeup assignments will be offered if any are missed. As such, we strongly encourage you to prioritize timely and comprehensive completion of all assignments to ensure that you do not miss any crucial learning opportunities.
To facilitate fair and accurate evaluation of your progress, all assignment scores will be assigned as assignment points. Graded assignments will be returned to you expeditiously to allow ample time for self-reflection and learning. We kindly request that you carefully review your grade summaries for any potential posting errors, as it is ultimately your responsibility to ensure that all scores are recorded accurately. Any score discrepancies must be brought to the instructor's attention within one week of posting. Please note that after this time, all scores will be considered final.
In order to streamline and optimize the grading process for programming assignments in this course, all programs submitted will be conducted and evaluated via CodeGrade, a sophisticated and state-of-the-art tool for programmatic evaluation.
It is mandatory that all programs are submitted before the due date/time of the task to ensure prompt and efficient evaluation. Please be advised that any submissions that are tardy will be subjected to a penalty of a 2% deduction in grade for every hour beyond the deadline, up to a maximum of 24 hours. Submissions that exceed the 24-hour threshold will regrettably be assigned a score of zero. Furthermore, it is critical to note that no individual may submit code on behalf of any other student, including instructors, teaching assistants, or any other party. Please be aware that CodeGrade will assign the highest score achieved, even if a lower score is received upon subsequent submissions.
To ensure that you have ample opportunities to demonstrate your mastery of the course material, we have established a rigorous examination schedule consisting of three exams, including a final examination. Each examination will be designed to assess your understanding of the course material comprehensively, with a particular focus on the material covered since the last exam. We strongly encourage you to prioritize a thorough understanding of all course content to optimize your performance on each exam. Furthermore, exams will be considered closed resource, and students will not be permitted to access external materials during the examination period.
Please note that no makeup exams will be offered for any missed tests. As such, we strongly recommend that you prioritize your exam preparation and attendance to ensure that you do not miss any crucial evaluation opportunities.
We acknowledge that, in rare instances, it may be necessary to administer quizzes or exams online. In such cases, we will utilize a lockdown browser with robust audio and video monitoring to ensure the integrity and fairness of the examination process. To ensure the highest levels of examination security, we require all students to activate their audio and video functions throughout the exam period. Finally, we ask that all students have a valid Rebel Card to confirm their identity during the examination process, further ensuring that all academic evaluations are conducted in a fair and unbiased manner.
Students are only allowed to use cs50.ai for AI-related assistance in this course. Each student is expected to complete each assignment without substantive assistance from other automated tools. The student is expected to:
Students are required to clearly document any assistance received from cs50.ai in their code. To maintain academic integrity and transparency, please follow these guidelines:
// Assistance from cs50.ai:
// Helped debug the logic error in the if-else condition.
if (x > y) {
// End assistance from cs50.ai
// ...
}
Each student enrolled in a course offered by the Department of Computer Science is expected to do their own work when preparing written or programming assignments, as well as examinations. Students must adhere to the academic integrity policy provided by the instructor and the university. It is also each student's responsibility to notify the instructor if they become aware of any activities that would violate the academic integrity policy of the class.
Students may use the permitted websites for assistance in this class. All other sites should not be used for assistance in this class. Instructors may provide additional links in assignment instructions or on the class WebCampus/Canvas website. All other sites should not be used, and their use may be treated as academic misconduct.
Permitted websites:
Assistance that is allowed in the preparation of coursework:
Examples of prohibited practices include, but are not limited to:
Week | Topic | Text Chapter | Homework |
---|---|---|---|
1 | Intro/Syllabus, Setting up a Programming Environment (VSC/Terminal/WSL), Basic Linux Commands, Program Creation Process | 1-2 | |
2 | Basics of a C++ Program, Input/Output, Variables/Constants, Primitive Data Types, Assignment, Binary/Unary Arithmetic, Mixed Expressions, Casting | 2-4 | HW0 Due |
3 | Libraries (<cmath> -and- <iomanip>) | 3-5 | HW1 Due |
4 | Logical/Relational Operators, Selection (n-way/switch), Error Handling, Short Circuit Evaluation | 5, 7 | HW2 Due |
5 | Loops (while/for/do,while), break/continue, Recovering Failed Input | 6, 7 | HW3 Due |
6 | Review for Exam 1 & Exam 1 | ||
7 | Nested Loops, File I/O, Strings as Arrays | 11 | HW4 Due |
8 | 1D Arrays, Array Linear Search, Array Bounds, Range-Based for Loops, Parallel Arrays | 11, 12 | HW5 Due |
9 | Comma Separated Values, Bubble Sort, 2D Arrays | 11, 12 | |
10 | Functions (value/void), Scope (local/global), Parameters (formal/actual and value/reference), Arrays as Function Parameters | 10 | HW6 Due |
11 | Default Parameters, Function Overloading, Structs Intro | 8, 9, 13 | |
12 | Structs, Structs and Functions, Structs and Files, Arrays of Structs, Structs within Structs | 14, 15 | HW7 Due |
13 | Review for Exam 2, Exam 2 | ||
14 | Review for Final Exam | ||
15 | Study Week - No classes | HW8 Due | |
16 | Final Exam - Check final exam schedule on MyUNLV |
Please see: https://www.unlv.edu/policies/students