Syllabus
Table of Contents
Overview
CSCI100 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
- Testing, Asserts
- Algorithms
- Runtime and efficiency
- Objects and Classes
- Sets and Dictionaries
Course Meetings
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. You must attend the lecture/lab time that you are assigned on bisonweb.
| Section | Lecture | Lab |
|---|---|---|
| Section 1 | MW 9:10 AM – 10:00 AM | Thur 9:10 AM – 10:00 AM |
| Section 2 | MW 10:10 AM – 11:00 AM | Thur 10:10 AM – 11:00 AM |
| Section 3 | MW 2:10 PM – 3:00 PM | Thur 12:40 PM – 1:30 PM |
Lecture
Lectures for this course will be conducted in person. Approximately half of our class time will be dedicated to covering the lecture material, while the remaining half will be focused on applying the concepts we’ve just learned through practice. Occasionally, I will assign pre-recorded lecture videos from a previous version of this course. During these sessions, our class time will be devoted to addressing any queries students might have about the material and working through practice problems. You are required to be present for each class, as there will be weekly quizzes given at random times during class.
Labs
Lab for this course will be in person. Labs will allow you to apply the new concepts that you’re learning in lecture to broader, graded problems. You will be given problems to solve that you’ll be able to work on with your peers in groups of 4. Your labs will be submitted on Codio and graded by the Codio autograder. Labs will be released each Wednesday evening, and will be due the following Tuesday at 11:59 PM.
You should take advantage of labs as you can ask the professor or TAs for help on completing the assignments.
Office Hours
We will hold a mixture of in-person and virtual office hours at a wide variety of times. Virtual office hours will be held on Zoom; the link can be found at the course schedule page. In-person office hours will be held in your instructor’s office (LKD 1110G). 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.
As a course, we commit to making sure no student fails the class due to lack of resources, so if you are behind or confused, please reach out for help.
Policies
Grades
The class will not be curved. Instead, your final grade will be based on buckets of your overall score that will be decided at the end of the semester based on the difficulty of the exams, quizzes, projects, labs, and homework.
| Assignment Type | # of Assignments | Dropped | Weight |
|---|---|---|---|
| Midterm Exam(s) | 2 | 0 | 25% |
| Final Exam | 1 | 0 | 25% |
| Labs | 12 | 2 | 25% |
| Projects | 1 | 0 | 20% |
| Quizzes | 10 | 3 | 5% |
Assignments
These details are subject to change during the semester; however the current plan is:
- ~8 Quizzes — random time during lecture, once a week
- ~12 Labs — 1× per week; work with partners, submit individually
- 1 Project — Image Filter
Assignments will be due at 11:59 PM, with a 10% penalty per day late up to 5 days total.
Exams
This course will have 3 exams spaced evenly across the semester, with the third exam happening during finals week.
- Exam 1 — Wednesday, September 20th
- Exam 2 — Monday, November 6th
- Exam 3 — Finals week
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 Codio’s autograder has a very good plagiarism detector.
Per Howard University policy:
- First offense: assignment grade zeroed out for all students with matching code
- Second offense: final course grade decreased by one letter grade
- Third offense: referral to the Dean’s office for academic dishonesty
The course staff will work tirelessly to provide enough support for any student to make it through the class. In exchange, we ask you to uphold academic integrity.
Resources
This course website, cs100.org, will be your one-stop resource for the syllabus, schedule, lecture videos, and assignment links. Additionally, we will be using the following software.
Codio — You will get a link to sign up when we begin class. We will use Codio for editing and turning in assignments. Note that Codio may display a “grade” for you, but the official one is in Canvas.
EdStem — We will use EdStem for class discussion. Rather than emailing questions to the teaching staff, post your questions to EdStem. You’ll get help faster and classmates benefit too.
Canvas — Your official midterm and final grades will be published in Canvas. Other than occasionally syncing grades, we will not be using it for anything else.