CS 102 Fundamentals of Computation
Course Description
Learning Objectives
Co-Requisite(s): None
Recommended Preparation: Proficiency in high school math (including trigonometry, algebra, and basic probability).
Course Materials
Course Websites
Zoom
Technological Proficiency and Hardware/Software Required
Readings and Supplementary Materials
Description and Assessment of Assignments
Availability: Homework will be made available on Codio (which can be accessed by links on Blackboard..Assignments) on the indicated date (usually the following Thursday after it is made available).
Due dates and Codio: The due date of each assignment is shown on the the Homeworks page. This is the date by which the assignment should be done for full credit. You MUST mark your assignment “COMPLETE” BEFORE the due date. If you are not done with the assignment you may continue to work on it after the due date with late penalties (see below) applied. If you mark your homework complete and then realize you want to modify something, you may re-open your assignment, however if you do so after the due date you will incur the penalties below (even if you don’t make any changes) and then you will need to mark it as complete when you are done.
As you complete portions of your HW code you will need to run checks in Codio. The Codio interface is NOT always intuitive. Sometimes if you get some partial credit but not FULL credit, you may see a green check mark next to the test. But it is your responsibility to view (scroll through) the full output and verify there are no errors. Regrades will NOT be accepted for reasons such as, “I saw the green check mark and thought the tests passed.”
Some points from each submission will be based on visual inspection by our grading staff. You should indent and comment your code using the guidelines provided on our website. Simply completing your code and passing the tests is NOT ENOUGH.
Late Submission: You may submit homeworks up to 24 hours (1 day) late. A late submission is only eligible for 75% credit, so please try to get your work done and submitted on time. NO excuse for laptop connection/network issues, etc. will be accepted for late submissions. Codio can be accessed through any web-browser, so you can always go to a USC computer lab or borrow a friend's laptop should yours break.
You should ensure you submit early to avoid any potential problems and thus avoid late penalties. After 24 hours, submissions will be rejected.
Grading/Rubric: A majority of the points will be awarded for correctness of the code which will be determined through a sequence of automated tests that match the output of your program to the expected, correct output. You should always review these results to ensure your program is outputting the desired information in the correct format (since a majority of the automated tests look for exact text matches, any formatting errors will lead to test failures). It is your responsibility to ensure (through review of the submission reports) that your program is producing the desired output format and values. You can submit as much as you like until you correct those mistakes. And each submission will be graded visually to ensure your code follows the CS 102 style guide (https://bytes.usc.edu/cs102/style-guide.html). Be sure you read through this guide and follow its suggestions.
Solutions: Solutions to the homework problems will not be made available. However, if you want help fixing features of your code you could not get right, please reach out to course staff after the due date.
Collaboration and Academic Integrity: Homework assignments are to be completed individually unless otherwise noted. You are NEVER allowed to show, verbally describe, or otherwise share any part of your code with another student. You should NOT verbally describe your code or guide another student on what to write or what to do. Furthermore, coding together on projects should be done with caution. Developing similar pseudocode or even planning together when done at a detailed level can lead to code that is pretty much the same (and really a team effort vs. an individual effort) and is considered a violation. Finally, copying (and then modification) or just “viewing for reference” any portion of code from Internet sources (including AI or fellow students is prohibited unless explicitly cleared with the instructor.
Policy for AI-generated work: Since creating, analytical, and critical thinking skills are part of the learning outcomes of this course, all assignments should be prepared by the student working individually or in groups. Students may not have another person or entity complete any substantive portion of the assignment. Developing strong competencies in these areas will prepare you for a competitive workplace. Therefore, using AI-generated work in whole or in part (even for reference) is prohibited in this course, will be identified as plagiarism, and will be reported to the Office of Academic Integrity. Note: Students with a pending violation or who are found to have violated academic integrity may NOT drop the course.
You MAY use generative AI tools for working on non-graded practice, or conceptual questions that don't involve HW-specific problems. Use it to help you practice on OTHER problems so that you can do the HW on your own and with the the help of only the course staff.
Contesting Grades: You have AT MOST 1 WEEK after the HW scores are posted to contest your grade. To contest your grade you should inquire with the TA who graded your work and list your reasons for requesting a regrade.
After the semester: You MAY NOT post your solutions to assignments on public websites like github.com, etc as they are derived from assignments which are copyrighted by your instructors and are the property of USC. Any such action will be deemed a violation of academic integrity.
Portfolio
Labs
Overview: Labs are small-group sessions led by one or two of our course staff. Most labs will have time to review some of the concepts presented that week along with a few exercises to perform. Unlike homeworks, labs are a place of collaboration where you are encouraged to work together, learn from each other and help one another. Some weeks may include reviewing other's portfolio work or time for individual help and review on homework assignments.
Attendance/Participation: Graded based on attendance and giving an honest effort. Your lab leader will provide instructions for how to log your attendance. You may miss at most 3 labs during the semester without penalty. For each lab missed thereafter you will lose 1% of the 6% of your course grade dedicated to lab participation. If you have a dispute about attendance, please contact your discussion leader directly (and not the instructor or head TA).
Exams
Time and Location: There will be two midterm exams and one final. The midterm exams will be held during the quiz section on Week 7 and 11. The dates of the exams are shown on the attached schedule but may be moved to a different date in exceptional cases. The exams will likely be in alternative (larger) classrooms. Always check with the instructor as the listed exam date approaches to confirm the date and time. The exam location will be announced in class and on the web site. You are responsible for finding out when and where the exams will be held. Makeup exams will be given if you have a valid excuse (e.g. serious illness or accident but proof will be required).
Academic Accomodations: If you have USC approved academic accommodations, please check with your instructor 2 weeks before the exam to determine when and where you will take the exam.
|
Assignment |
% of Grade |
|
Homework |
32% |
|
Portfolio |
6% |
|
Labs |
6% |
|
Midterm 1 + 2 |
Higher = 22%
Lower = 12%
|
|
Final |
22% |
Grading Scale:
|
A 94-100 |
B+ 87-89 |
C+ 77-79 |
D+ 67-69 |
F 59 and below |
|
A- 90-93 |
B 83-86 |
C 73-76 |
D 63-66 |
|
|
|
B- 80-82 |
C- 70-72 |
D- 60-62 |
|
Assignment Rubrics
Grading Timeline
Course Schedule: A Weekly Breakdown
|
|
Topics/Daily Activities |
Readings and Homework |
Deliverable/ Due Dates |
|
Week 1 |
Computer System Overview;
*Data Representation (Video Lecture)*
Program Structure / Expressions
|
Ch. 1.1-1.4 |
|
|
Week 2 |
Output and Input
More Expressions
|
Ch. 2.1-2.3
|
|
|
Week 3
|
Labor Day – Holiday
Division, Modulo
Conditionals
|
Ch. 2 |
HW 1a & 1b
Due
(See website) |
|
Week 4
|
Conditionals
Iterative Structures (Loops)
|
Ch 3
Ch. 4.1-4.5
|
HW 2 Due
(See website)
|
|
Week 5
|
Scalar Input Loop Examples |
Ch. 4.1-4.5, 4.7 |
HW 3 Due +
Portfolio 1
(See website)
|
|
Week 6
|
Arrays
Examples with Arrays
|
Ch 6.1-6.2 |
HW 4 Due
(See website)
|
|
Week 7
|
Debugging
Review
(Midterm 1 – 10/4 in the Quiz section)
|
Ch. 4.3, 4.8 |
|
|
Week 8
|
Nested Loops;
Nested Loop Examples
|
Ch 4.8 |
Portfolio 2
Due
|
|
Week 9
|
Nested Loops and Arrays
Functions
|
Ch. 6.2, 6.4-6.5
Ch. 5.1-5.5
|
HW 5 Due
(See website)
|
|
Week 10
|
User-defined functions
Functional Decomposition
|
Ch 5 |
HW 6 Due
(See website)
|
|
Week 11
|
Passing scalars and Passing Arrays
Review
(Midterm 2 – 11/1 in the Quiz section)
|
Ch. 5.3, 5.9, 6.3 |
|
|
Week 12
|
Strings and Character Arrays
Abstraction and decomposition
|
Ch 2.5, 7.3
Class Notes
|
Portfolio 3
Due
|
|
Week 13
|
Abstraction and decomposition |
Class Notes |
HW 7 Due
(See website)
|
|
Week 14
|
Searching/Sorting
Thanksgiving Holiday
|
Class Notes |
|
|
Week 15
|
Languages beyond C++
Review
|
Class Notes |
HW 8 Due
(See website)
|
|
FINAL
See Exceptions Final List
|
Sat. Dec 9 th 11 a.m. - 1 p.m. |
.Statement on Academic Conduct and Support Systems
Academic Integrity:
The University of Southern California is a learning community committed to developing successful scholars and researchers dedicated to the pursuit of knowledge and the dissemination of ideas. Academic misconduct, which includes any act of dishonesty in the production or submission of academic work, compromises the integrity of the person who commits the act and can impugn the perceived integrity of the entire university community. It stands in opposition to the university’s mission to research, educate, and contribute productively to our community and the world.
All students are expected to submit assignments that represent their own original work, and that have been prepared specifically for the course or section for which they have been submitted. You may not submit work written by others or “recycle” work prepared for other courses without obtaining written permission from the instructor(s).
Other violations of academic integrity include, but are not limited to, cheating, plagiarism, fabrication (e.g., falsifying data), collusion, knowingly assisting others in acts of academic dishonesty, and any act that gains or is intended to gain an unfair academic advantage.
The impact of academic dishonesty is far-reaching and is considered a serious offense against the university. All incidences of academic misconduct will be reported to the Office of Academic Integrity and could result in outcomes such as failure on the assignment, failure in the course, suspension, or even expulsion from the university.
For more information about academic integrity see the student handbook or the Office of Academic Integrity’s website, and university policies on Research and Scholarship Misconduct.
Students and Disability Accommodations:
Support Systems:
Counseling and Mental Health - (213) 740-9355 – 24/7 on call
Free and confidential mental health treatment for students, including short-term psychotherapy, group counseling, stress fitness workshops, and crisis intervention.
988 Suicide and Crisis Lifeline - 988 for both calls and text messages – 24/7 on call
The 988 Suicide and Crisis Lifeline (formerly known as the National Suicide Prevention Lifeline) provides free and confidential emotional support to people in suicidal crisis or emotional distress 24 hours a day, 7 days a week, across the United States. The Lifeline is comprised of a national network of over 200 local crisis centers, combining custom local care and resources with national standards and best practices. The new, shorter phone number makes it easier for people to remember and access mental health crisis services (though the previous 1 (800) 273-8255 number will continue to function indefinitely) and represents a continued commitment to those in crisis.
Relationship and Sexual Violence Prevention Services (RSVP) - (213) 740-9355(WELL) – 24/7 on call
Free and confidential therapy services, workshops, and training for situations related to gender- and powerbased harm (including sexual assault, intimate partner violence, and stalking).
Office for Equity, Equal Opportunity, and Title IX (EEO-TIX) - (213) 740-5086
Information about how to get help or help someone affected by harassment or discrimination, rights of protected classes, reporting options, and additional resources for students, faculty, staff, visitors, and applicants.
Diversity, Equity and Inclusion - (213) 740-2101
Information on events, programs and training, the Provost’s Diversity and Inclusion Council, Diversity Liaisons for each academic school, chronology, participation, and various resources for students.
Emergency assistance and avenue to report a crime. Latest updates regarding safety, including ways in which instruction will be continued if an officially declared emergency makes travel to campus infeasible.
USC Department of Public Safety - UPC: (213) 740-6000, HSC: (323) 442-1200 – 24/7 on call
Office of the Ombuds - (213) 821-9556 (UPC) / (323-442-0382 (HSC)
A safe and confidential place to share your USC-related issues with a University Ombuds who will work with you to explore options or paths to manage your concern.
Occupational Therapy Faculty Practice - (323) 442-2850 or [email protected]
Services for USC students to support health promoting habits and routines that enhance quality of life and academic performance.