Syllabus
Table of contents
Overview
CSCI 110 is an introductory class designed for students with no formal exposure to computer science or programming. The goal is to provide a gentle but thorough introduction to computer science that will prepare students to either take further computer science courses or use computer science in their field of study.
By the end of the course, students will learn
- Variables, Expressions, Types
- Input/Output
- Logic and Control Flow
- Functions
- Lists, Dictionaries, Sets
- Testing, Asserts
- Runtime and efficiency
- Objects and Classes
Class Model
This class uses a flipped classroom model, where lecture videos will be sent out before class that you must watch. You will be expected to have watched the videos the day before class and completed the associated video assignments. This is part of your grade, and you are required to do them before class! Classtime will then be spent on answering your questions on the material and working through practice problems.
Course Schedule
Lectures, labs, and office hours are the main ways in which you will interact with your professor and TAs. You can see the weekly schedule of course meetings on the course schedule page. Instructor and Fisk TA office hours will be held on the Library 3rd floor.
Lecture
Lecture will be held in Library 317 on Mondays, Wednesdays, and Fridays. Lecture will be focused on practicing concepts by doing problems, and you will be able to ask your professor and TA for help. There are three sections and each student must attend one of them:
- MWF 9AM-9:55AM
- MWF 11AM-11:55AM
- MWF 2PM-2:55PM
Lab
Labs will be held in Library 317 on Tuesdays. There are three sections for labs and each student must attend one of them:
- T 9AM-9:55AM
- T 11AM-11:55AM
- T 1PM-1:55PM
Office Hours
We will hold a mixture of in-person and virtual office hours at a wide variety of times. Virtual office hours held by Googler TA’s will be held on Google Meet, and the link can be found at the course schedule page. In-person office hours for the instructor and Fisk TA’s will be held in Andrea’s office. You are welcome to come for any reason, including course material questions, lecture clarifications, industry interview prep, career path discussions, or just to hang out (and eat snacks!).
As a course, we commit to making sure no student fails the class due to lack of class resources, so if you are behind or confused, please reach out for help. The course staff will make themselves as available as possible to help you.
Policies
Evaluation
Your final grade will be calculated based on your exams, homeworks, projects, and quizzes. See the section below for a detailed breakdown. Depending on the difficulty of the material, a curve may be applied to increase grades at the end of the semester. A curve will never be used to decrease grades. Final grades will be assigned according to: | Grade | Range |:——-|:——| | A+ | 97 <= score | | A | 93 <= score < 97 | | A- | 90 <= score < 93 | | B+ | 87 <= score < 90 | | B | 83 <= score < 87 | | B- | 80 <= score < 83 | | C+ | 77 <= score < 80 | | C | 73 <= score < 77 | | C- | 70 <= score < 73 | | D | 60 <= score < 70 | | E | 50 <= score < 60 | | F | score < 50 |
Grades
There will be two grading systems, both very similar, which will be applied to your work throughout the course. Your final grade will be the greater of the two scores. The intention here is to provide a slight benefit to those students who performed really well on projects but may have had slightly lower exam scores or vice versa. The two weighting systems are:
Your overall grade will be calculated using the following relative weights:
Assignment Type | Weight in Overall Grade System 1 | Weight in Overall Grade System 2 |
---|---|---|
Coding Homework | 3% | 3% |
Video Homework | 2% | 2% |
Labs | 3% | 3% |
Quizzes | 3% | 3% |
Project 1 | 14% | 25% |
Project 2 | 20% | 30% |
Midterm 1 | 13% | 6% |
Midterm 2 | 17% | 11% |
Final Exam | 25% | 17% |
Assignments
These details are subject to change during the semester, however the current plan of record is the following:
- 30 Video Assignments - 3x per week, due one day before each class (Sun, Tues, Thurs)
- 10 Coding Assignments - 1x per week, due Monday
- 10 Quizzes - 1x per week on Wednesday, first 15 minutes of class
- 2 Projects - spread throughout the semester, due Friday
All assignments will be due at 11:59pm on their respective days
Quizzes
At the beginning of class on every Wednesday, there will be a 15-minute quiz on the material from the previous week (previous Wed, Fri, and Mon). These will be done on EdStem, so bring your laptop to class.
For quizzes where you score <90%, you will have a chance to retake them. In order to do so, send me an email by the end of Friday to ask for a quiz retake. In the email, include for each question:
- what the original answer was and why / how it is incorrect
- what the correct answer is and why / how it is correct
In order to be granted a retake, all of your answers must be correct. If they are not correct, I will go over them with you until they are correct - but no retakes until they are correct.
Retakes will happen 15 minutes before class on Monday (ie if your class usually starts at 9AM, show up a few minutes before 8:50AM to do the retake). Let the instructor know if this time doesn’t work for you and we’ll find another time.
Exams
This course will have 2 midterms and 1 final exam, spaced evenly across the semester.
- Exam 1 is on Wednesday, September 15th
- Exam 2 is on Wednesday, Nov 1st
- Exam 3 is the final exam
Cheating
For all assignments in the course, you may discuss approaches to solving a problem or work in the same room on separate computers to individually solve a problem, but you may not copy and paste code or substantially copy ideas from another student. It can be tempting to cheat. Know that I will be using a plagiarism detector. The first time an assignment is found to be plagiarized, the assignment grade will be zero-ed out for all students with matching code. The second time, all students involved will have their final course grade decreased by 1 letter grade (B going to a C, A- does to a B-, etc.). The third time, all students involved will be referred to the Dean’s office for academic dishonesty.
If I ask you how your code works and you do not know, it will be evident that you have copied it. Don’t take the risk. Despite this explicit warning, each year, a few students still cheat and are caught. I do not enjoy catching and penalizing students for plagiarism, but it’s necessary for maintaining a fair classroom. The course staff will work tirelessly to provide enough support for any student to get help and make it through the class. In exchange, we ask you to uphold academic integrity and not to plagiarize code or ideas. If you are struggling because there’s not enough time or the concepts are difficult, email the professor. Extensions are available if you let me know what’s going on.
Resources
This course website, introcs.org, will be your one-stop resource for the syllabus, schedule, lecture videos, and assignment links. Additionally, we have: