Description. This course is an introduction to computer programming for students with little or no previous experience. Students will learn to read, write, and reason about computer programs. Topics include data types, conditionals, loops, arrays, functions, graphics, and sound.
Lectures. Lectures meet at 1:30 - 2:50 pm on Mondays and Wednesdays at JRR A87. Lectures introduce new material.
Precepts. Precepts meet at 1:30 - 2:50 pm on Tuesdays and Thursdays at JRR A87. Precepts review the material from the corresponding lecture.
Labs. Labs meet at 10:30 - 1 pm on Fridays at JRR A98 (note that labs are in a different room than lectures and precepts). Labs are intended as a way for students to work on the week's programming assignment.
![]() Marcel Dall'Agnol Faculty Instructor |
![]() Kevin Alarcón Negy Faculty Instructor |
![]() Jeffrey Asiedu-Brako Undergraduate Course Fellow |
![]() Ayaat K. Al-Yasseri Undergraduate Course Fellow |
Course website. This course website includes links to course content, including lecture slides, precept lessons, and programming assignments.
Textbook. Computer Science: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne. Addison–Wesley Professional, 2016. ISBN 978-0134076423. You may access a condensed version of the book with additional reference materials through the following website.
While final letter grade cutoffs will be determined at the end of the semester, a 93.0% will guarantee an A, 90.0% for an A–, 87.0% for a B+, 83.0% for a B, 80.0% for a B-, 77.0% for a C+, 73.0% for a C, 70.0% for a C-, or 60.0% for a D. You risk course failure if you earn below 60.0% of the available points. Staff discretion may be applied to adjust borderline cases.
Midterm exam. The midterm exam will be on Friday, July 17, 10:30 - 11:30 am in JRR A98.
Final exam. The final exam will be on Wednesday, August 12th, 1:30 - 2:50 pm in JRR A87.
Attendance Students are expected to attend each lecture, precept, and lab on time and ready to participate fully. The course staff will take attendance throughout the semester. The first two absences to lecture are automatically waived. Similarly, the first two absences to precept are automatically waived. This is intended to account for illnesses, religious observances, etc. Please do not request a waiver unless you will be exceeding this limit. To request a lecture attendance waiver, contact the instructors. Students are still expected to catch up on any material missed and abide by the deadline policies outlined below.
Office Hours During the first week of classes, we expect students to attend a faculty office hour session for a one-on-one meeting of about 15 minutes. The goal of this meeting is for students to get an opportunity to interact with their professor and become comfortable seeking help during office hours for the rest of the semester. More details will be provided during the first lecture.
acknowledgments.txt file.
acknowledgments.txt
All assignments must include a file named
acknowledgments.txt, which includes your
acknowledgement of original work
(as specified in Rights, Rules, Responsibilities),
any citations, names and dates of those who provided help, etc.
Submitting the acknowledgments.txt indicates that you have stopped working on your assignment
and your submitted work is ready to be graded.
Your assignment solution will only be graded if the acknowledgments.txt is submitted.
Penalties for late submissions. Late assignments are assessed a penalty equal to 10% of the possible points on the assignment per day (or partial day) late. The penalties for your first two late days during the semester are waived automatically. This is intended to account for illnesses, religious observances and travel. To request an extension beyond that, post in the appropriate Ed Discussion forum. Please do not contact course staff if you need to utilize any of your automatically waived late days.
Late days and partners. If you are working with a partner, any late penalties apply to the group. The number of free late days a group can use is the minimum of the number of free late days each member has remaining.
| Your partner | Course staff | Classmates | AI Chatbots | Other | |
|---|---|---|---|---|---|
| Discuss concepts with... | yes | yes | yes | no | yes |
| Acknowledge collaboration with... | yes | yes | yes | no | yes |
| Show your code/solutions to... | yes | yes | no | no | no |
| View any code/solutions of... | yes | yes* | no | no | no |
| Copy any code/solutions of... | yes | yes* | no | no | no |
Collaboration acknowledgment.
You must acknowledge all collaboration in the acknowledgments.txt file for that week’s assignment.
Please include the names (and dates) of the instructors, course fellows, students, etc. who provided assistance.
You must also indicate if you helped another student.
Discussing concepts. Discussing general concepts includes asking what is the syntax of a for loop, or explaining how to input a sequence of numeric values. It does not include a discussion about specific code-related solutions to programming assignments.
Collaboration with an AI chatbot. You may not use AI composition software (such as ChatGPT or GitHub Copilot) for any reason on assignments, including for understanding instructions, generating assignment code, or for debugging your code. Please see AI Usage Policy section below for more details.
Collaboration with classmates. We encourage you to discuss common concerns with classmates either in private via personal interactions or publicly in the Ed Discussion course forum. These discussions must be kept at a general level, without exposing your solutions.
| For example, you may discuss: | But, you may not: |
|---|---|
How to interpret an error message. For example, “What does IndexOutOfBoundsException mean?” |
Look at another classmate’s solutions (or show another classmate your solutions). |
| How to use a feature in IntelliJ. For example, “How do I start the embedded terminal?” | Lead a classmate step-by-step through any part of the assignment (or allow a classmate to lead you step-by-step through any part of the assignment). |
Collaboration with course staff. You are welcome to discuss your solutions with course staff members (instructor and course fellows) in office hours or via private Ed Discussion posts. Do not post code on Ed or email us your code; instead, submit your code via TigerFile - the course submission system.
Students are required to seek out help directly from course staff. In addition, the course offers a myriad of resources including: lecture/precept notes, weekly lab sessions, the course Ed discussion forum, and especially staff office hours.
Any suspected AI usage that does not adhere to the rules listed in this syllabus may be reported by course staff to the Committee on Discipline, Honor Committee, or other relevant body who will investigate the concern. In line with FSI program guidelines, a finding by the Committee on Discipline or the Honor Committee that a student has violated this policy will have the consequence of failing the course, being withdrawn from their second course, and being removed from the program. FSI students may also face penalties that include but are not limited to probation and suspension from the University.