Syllabus

Table of contents

  1. Overview
  2. Course Meetings
  3. Primary Course Components
    1. Grades
    2. Assignments
    3. Exams
    4. Resources
    5. Academic Integrity

Overview

Welcome to COMP 1336! We’re really excited to have you on board with us this Fall for a gentle, but thorough introduction to computer science. The course is designed for students with no formal exposure to computer science or programming. The goal is to provide an 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
  • Loops
  • Functions
  • Decomposition
  • Computational problem solving

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.

Primary Course Components

  • Lecture Sections: Discussion sections are where you will delve into the content more deeply with interactive examples, such as “pen-and-paper” worksheets, computer science unplugged activities, pair/group programming, and code along problems. This is where you will develop computational skills needed to understand the basics of programming.

  • Lab Sections: Labs are the primary place you will learn to program. To earn full credit for a lab, it must be completed, submitted, and checked off. Checkoff can be done either in lab or in office hours. If you have a special circumstance where you are unable to check-off a lab, please email ddebnam@google.com. Labs can be completed individually or collaboratively; please see the ‘Academic Integrity’ section below. Each lab will be due one week after the lab is assigned. For example, a lab assigned on a Tuesday will be due the following Tuesday. There will be at least 12 total labs.

  • Office Hours: During office hours, you can meet with a TA or Donnell for help with course material, assignments, or bigger picture questions. 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 Google Meet, the link can be found at the course schedule page. In-person office hours will be held in Donnell’s office. You are welcome to come for any reason, including course material questions, lecture clarifications, career path discussions, or just to hang out.

  • Project and Homework Description: These assignments will be one of the best ways for you to apply what you have learned in lecture, lab and discussion. These will be a bit more time intensive than the other assignments and will require you to be caught up on the other components of the class. Homework will tend to be a bit less difficult and time intensive, while projects will take a bit longer and require more work on your part. Note that you may use 3 slip days (explained in more detail below) total this semester on assignments in this category. Unlike labs, homework and project assignments are to be worked on individually, and any violations will result in further action by the instructor’s discretion.

Grades

The class will not be curved. Instead, your final grade will be based on buckets of your overall score in the class that will be decided at the end of the semester based on the difficulty of the exams, quizzes, projects, labs, and homework.

Assignments

These details are subject to change during the semester, however the current plan of record is the following:

  • 14 HW assignments - 1x per week. Work individually, submit individually.
  • 12 Labs - 1x per week (excluding midterm & finals week). Work collaboratively, submit individually.
  • 5 Quizzes - Held at the beginning of Thursday lecture, every other week. Lowest score will be dropped!
  • 1 Programming Project - Assigned before midterm, with checkpoints throughout the semester. Work individually, submit individually.

Assignments will be due at 11:59pm, with up to a 50% penalty by instructor’s discretion up to 1-week after the initial due date. No submissions will be accepted after the 1 week late period.

  • Slip Days: Each student will receive 3 slip days, to be used for homework and project deadlines only. Each slip day allows you to extend the deadline period by one day with no penalty. For example, if a project checkpoint is due Wednesday at 11:59 PM CT, you may turn it in without penalty up until Thursday at 11:59 PM CT by using one slip day. Note: You can use a maximum of one (1) slip days per assignment.

  • Late Submissions: Late submissions for projects will be handled on a case-by-case basis. If you are out of slip days for a project but cannot make a deadline, please contact ddebnam@google.com to figure out an extension. If you do not reach out to anyone in advance, we reserve the right to mark the submission down by up to 50% up to 1 week after the initial due date. After the 1 week period, no late submissions will be accepted.

Exams

There will be two (2) exams for this course. The midterm, which wil be administered during the week of Oct 9, and the final exam which will be administered during the week of Dec 4.

Resources

This course website, comp1336.com, will be your one-stop resource for the syllabus, schedule, lecture videos, and assignment links. Additionally, we will be using the following software.

  • Edstem: You will get a link to sign up for this tool when we begin class. We will use Edstem for almost all class content. Labs, project, and all of the code you will write will be with Edstem. Note that Edstem may display a “grade” for you, but the official one is in Canvas.

  • Canvas: Your official class midterm and final grades will be published in Canvas. You should already have a Canvas account. Get in touch with your advisor if you can’t access the course on Canvas. Other than occasionally syncing grades to Canvas, we will not be using Canvas.

Academic Integrity

Maintaining academic integrity is a crucial part of your learning experience, as cheating prevents us as instructors from understanding where our model of instruction isn’t working. We understand that academics can be stressful and that it might be tempting to cheat; however, there are ways to meet your goals that don’t require academically dishonest means. Here, we will lay out our academic integrity policies and some good practices that will help you avoid academic dishonesty and improve your overall mastery of the material.

Let’s get honest about being honest. It is truly a disappointment to catch students cheating. All we really want is for you to learn the material and if the class is stressful enough that you feel the need to cheat, we have failed as instructors. If you are feeling stressed out in the course, please tell us. We will do what we can to help you. Know that Edstem has a very good plagiarism detector.

What constitutes cheating?

  • Copying part or all of another student’s project code with the exception of your partner(s) assuming that the project you are working on allows for partnered work. This includes students from previous semesters (we still have their code and will know if you do this).
  • Sharing or receiving the exact steps used to solve a project problem (even if code is not explicitly sent).
  • Copying part or all of another student’s exam answers.
  • Collaborating with another student when taking the quest, midterm, or final exams by receiving or giving assistance of any kind.
  • Copying code from online sources without crediting them

What constitutes collaboration?

  • Asking instead of telling. If you’re working with your friends and one of them is stuck on a part of an assignment, try to ask them guiding questions instead of telling them the answer.
  • Keeping things conceptual! It’s more beneficial to your learning if you come up with a solution yourself, rather than having it told to you. This also applies if you are helping someone else. We highly encourage collaboration, so let’s define what that means. Discussing approaches to problems is fine (in fact, we actively encourage it), as long as you eventually arrive at a good enough understanding of the problem that you are able to code the solution completely by yourself. You should not allow concerns about cheating to get in the way of discussing the class material with your classmates. It is okay if you have received some help with ideas along the way (but not a fully worked out solution).

What happens if you cheat? We will set up a meeting with you to discuss the situation and determine the consequences.