CS124 Syllabus FA24

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Kotlin

Fall 2024 Syllabus


The information here is subject to change until the course begins.

Overview
This course is an introduction to the concepts and craft of
computer science. It will teach you to both think and act
like a computer scientist. It will change how you approach
problems and provide you with powerful tools that you can
use to change the world for the better—whether you write
code in the future or not.
Computer science is both an applied and a conceptual discipline. You will learn how
to program in this course, to allow you to bring your creative ideas to life. It can be
frustrating at first. Computers are irritatingly literal machines, and challenge our
ability to formulate clear and correct problem solving plans.

But programming is a skill. You will get better with practice. And you will get lots of
practice! Computers are the most powerful tools that we have at our disposal to
solve almost any problem. Learning how to get them to do your bidding is
extremely empowering. You will quickly come to understand the hacker’s lament:
you can do anything, but you can’t do everything(1).

Learning to program also trains you to think—to formulate correct and complete
problem-solving plans and express them clearly. To solve a programming problem
you must first read and understand the written description. Next, you must
formulate a plan to solve the problem, which frequently requires correctly handling
unusual situations. Next, you must write your plan down in a precise way that the
computer can understand. At that point we’ll evaluate your submission to ensure
https://www.cs124.org/syllabus/Fall2024 1/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

that it fully solves the problem. If it doesn’t—which it probably won’t on the first few
tries—you’ll need to understand the problem and adjust your plan accordingly.

Reading comprehension. Planning. Precise expression. Accepting, understanding,


and fixing mistakes. These are intellectual abilities that you will develop through
programming. But they are not limited to programming, and you will find them
useful regardless of how you end up solving problems in the future.

While programming is important and enjoyable, computer science has deep


conceptual concerns at its core. You’ll learn to design solutions to problems so that
computers can carry them out efficiently. We call these algorithms. Designing
computer algorithms requires clarity and precision that will improve your ability to
solve any problem. And then you get to build your solutions and deploy them to
billions of people across the world. No other field has this potent mixture of
left-brain analytics, right-brain creativity, and global impact.

Description and Prerequisites


From the course catalog:

Description: Basic concepts in computing and fundamental techniques for


solving computational problems. Intended as a first course for computer
science majors and others with a deep interest in computing.

Prerequisites: Three years of high school mathematics or Math 112.

Required Materials
There is no required textbook for CS 124. All daily lessons are posted on this
website.

You will need a personal machine capable of running Android Studio to complete
the longer multi-part Android programming project assigned in the second half of
the semester. For most students, a personal laptop or desktop computer is
sufficient. If you do not have access to a personal computing device meeting these
requirements, the university has several laptop loan programs you may want to
explore. If you are really stuck, please contact the instructor to discuss your
options. We want every student to be prepared to succeed in CS 124!

https://www.cs124.org/syllabus/Fall2024 2/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Learning Objectives
CS 124 works on both conceptual and skill-based levels. We teach you how to think,
and we teach you how to do.
Conceptual Objectives
When you finish this course, you will be able to:

Outcome Assessment
Develop algorithms to effectively solve problems
using computers—including both iterative and Class participation and
recursive algorithms—and reason about their quizzes.
computational and storage requirements.
Describe how computers represent, structure, and 70% correctly
manipulate data—including numbers, strings, and identified marks
multimedia data including images and audio. outcome achieved.
Explain the importance of core Java or Kotlin
software development concepts—including object
orientation, object types, encapsulation, and
inheritance.
Understand runtime and design tradeoffs between
different algorithms, data structures, and data structure
implementations.

Programming Objectives
When you finish this course, you will be able to:

Outcome Assessment
Design and implement small and medium-sized Java or
Machine project
Kotlin programs that perform straightforward operations
and daily
on simple data types, using iterative, object-oriented, and
homework.
recursive approaches as appropriate.
Learn to use modern Java or Kotlin software 70% correctly
development tools—including an integrated development identified marks
https://www.cs124.org/syllabus/Fall2024 3/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Outcome Assessment
and debugging environment (Android Studio), source outcome achieved.
version control (Git), test-driven development, coding
convention tool (checkstyle or ktlint), build system
(Gradle), and pair programming techniques.
Utilize standard Java or Kotlin features and libraries—
including objects and simple built-in data structures.
Debug and test Java or Kotlin programs.
Use programming to solve problems in other domains.

Preparation
CS 124 assumes no knowledge of computer science or
prior programming experience. However, the course is a
fair amount of work. Those looking for a gentler
introduction may consider taking CS 101 , CS 105 , or CS
107 .
Some students in CS 124 have no experience with computer science. Others have
been programming for years. But our goal is for everyone to succeed! In Fall 2022,
the grade gap between students with and without prior experience was only 2%,
and 83% of students earned an A grade! Regardless of whether you’ve programmed
before, you can succeed in CS 124.
If you’re new to computer science…
Welcome to the most exciting field on Earth! We’re extremely happy to have you.
We know that it can be hard to get started, but trust us—you’ll get better with
practice. Programming is a skill. The more you do, the better you get. If you’re
willing to put in the time and energy, we’re here to help you succeed. And you will.

When you’re starting something new, it’s normal to occasionally feel frustrated or
intimidated by those around you. We were all new once, and most of us try new
things at least once in a while. So we know what it feels like. Just remember that no
matter how it may seem, there are a lot of other students in CS 124 that are
https://www.cs124.org/syllabus/Fall2024 4/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

beginners too. And if you’re working harder than some other students in the class,
then it just means that you’re learning more than they are.

Also keep in mind that computer scientists can get extremely excited about what
they know. Our field is awesome, and we’re all learning new things all of the time.
Unfortunately, sometimes that can come off as boasting or bragging. Don’t let it
get you down. We want you to share in the excitement, and will do our best to
make sure that happens.
If you kind of already know what you are doing…
There’s so much more to learn! No matter how much background in computer
science you have, there are always new areas to explore, new languages to learn
(like Kotlin!), and new problems to solve. Even if you don’t find every aspect of CS
124 challenging, we hope that it can continue to move you forward on your journey
in computer science. Keep in mind that continuing to develop as a programmer
requires practice. If the MP checkpoints don’t take you that long, then you aren’t
getting the practice that you need to keep improving. You might want to join the
honors section , get involved with the ACM (Illinois Chapter of the Association for
Computing Machinery) , or just make sure that you have some side projects to
keep you busy.

And please feel free to help other students in the class that might not know as
much as you. One of the best things about computer science is the community of
generous and patient people willing to help beginners get started.
If you really know what you are doing…
Perhaps you should sign up for the CS 124 Proficiency Exam and bypass CS 124
entirely?

General Education Information


CS 124 meets the University of Illinois General Education Requirements in the
Quantitative Reasoning 1 category.

FAQ
Here are answers to some commonly-asked questions about CS 124.

https://www.cs124.org/syllabus/Fall2024 5/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

I want to register for a lab, but it’s full? Or I


want to switch labs. Can you help me?
No, sorry. We have absolutely no control over registration. You’ll need to talk to
an academic adviser .

I added the course late. What do I do?


We have special instructions for you here.

Design
Moved here.

Course Activities
CS 124 consists of asynchronous daily lessons and online
office hours. You’ll do some work on CS 124 every day, and
a lot of work on CS 124 on a few days.
Daily lessons are designed by Geoffrey Challen, who has primary responsibility for
course content and administration. You’ll also be viewing content created by
Colleen Lewis , who co-taught CS 124 in Fall 2021 and added many Java
walkthroughs and videos. Undergraduate and graduate course staff run online and
in-person tutoring at all hours of the day and night.

Calendar
We suggest that you add our course calendar to your calendaring program. All
course programming, deadlines, and other activities will be posted on this calendar.

https://www.cs124.org/syllabus/Fall2024 6/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Today Aug 25 – 31, 2024 Week Month Agenda


Sun 8/25 Mon 8/26 Tue 8/27 Wed 8/28 Thu 8/29 Fri 8/30 Sat 8/31
CS 124 Quiz 0: Welcome to CS 124 - CBTF: Multiple Locations
Lesson 0: Welc Lesson 1: Vari Lesson 2: Ope Lesson 3: Con Lesson 4: Com
Quiz 2 Open fo

10am 10 – 6p
Welcome to
CS 124!
11am Q&A and
Meet and
Greet (CIF
12pm 4029)
Campus
Instructional
1pm Facility (CIF),
1405 W
Springfield Ave,
2pm Urbana, IL
61801, USA,
Room 4029
3pm

Events shown in time zone: Central Time - Chicago Calendar

We have a description of all posted activities maintained on this page.

Lessons
Programming is a skill. And the best way to learn to program and to get started
with computer science is to do a little bit every day.

CS 124 course content is delivered through a series of daily lessons. Each lesson
introduces new material through a combination of text, video, and interactive
walkthroughs. Throughout each lesson are practice problems, and at the end of
each lesson are one or two homework problems to complete to demonstrate your
understanding of the lesson’s content. You should set aside time each day to review
both lessons and complete both homework problems.

Quizzes
Each 50-minute quiz emphasizes the material covered since the previous quiz, but
everything covered up to that point is fair game. Quizzes contain a mixture of
multiple-choice questions covering course concepts along with programming
questions and debugging challenges. The programming questions will be similar—
but not identical—to the previous homework problems.

https://www.cs124.org/syllabus/Fall2024 7/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Keeping up with the lessons will prepare you for each quiz. Quizzes are taken in the
Illinois CBTF , and scheduled using the CBTF scheduling website . CS 124 quizzes
will be given on Mondays and Tuesdays throughout the semester.

Note that we will no provide overrides or retake opportunities for CS 124 CBTF
quizzes. You are responsible for signing up to take them and showing up at your
assigned time. Any missed quizzes will be subject to the quiz drop policy.

Tutoring Site
All course staff participate in providing individual assistance through our tutoring
site. Tutoring hours will be posted on the calendar.

Communication
CS 124 is a large class. This makes it important for us to
communicate with each other in effective ways.
We have set up a comprehensive and well-organized course website and forum
to help you find what you need to know. Our goal is to avoid email and other 1-to-1
forms of communication that don’t scale well to large numbers of students.

There are two primary sources of information for CS 124:

1. This website
2. The course forum

Most policy questions are answered in this syllabus. For almost anything else,
search the forum —maybe another student has asked your question and we’ve
already answered it. If you still can’t find an answer, post your question on the
forum .

What You Are Responsible For


You are responsible for email sent to your @illinois.edu email address. We
will occasionally use a course email list to send important announcements,
particularly at the beginning of the semester.

https://www.cs124.org/syllabus/Fall2024 8/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

You are responsible for messages posted in the announcements forum


category . These announcements are important and we will frequently post in
this category in lieu of using email. You can configure our course forum to send
emails each time a topic is created in a specific category. We would suggest that
you do that—or plan on visiting the forum each and every day. In fact, both are
good ideas.

Contacting the Course Staff


Please do not email the course staff with general
course questions.
You may think that someone spending five minutes responding to your email is not
a huge problem. But five-minute responses to 500 students consumes 40 hours.
Help us help everyone, and post your question on the forum .

You should absolutely never directly message a member of the course staff
who is not an instructor. All staff are instructed to not respond to direct
messages. If you persist in attempting to contact them, disciplinary action may
result.

This is not because we don’t like you. It’s simply because there are a lot of you, a
much smaller number of us, and many of your questions are shared by other
students. If you email us, we can answer your question to one person: you. (And
right behind your email is another asking the same question.) If you post on the
forum, we can answer your question once to the entire class. And you may find that
your question has already been answered, or that another student can answer it
for you.

Here is a general guide about how to contact the course staff:

I need help installing (insert name of software here)…: post on the forum .
I’m confused about (insert name of concept here)…: post on the forum .
I need help with (insert any CS 124-related item here)…: post on the forum .
I can’t find (insert name of CS 124-related resource here)…: post the forum .

You can probably see the pattern emerging here.


https://www.cs124.org/syllabus/Fall2024 9/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

In contrast, here are some cases where you can and should contact the instructor:

I think that my friend is cheating in CS 124: contact the course staff.


I’m really sick and getting behind in the class: contact the course staff.
I’m feeling really overwhelmed and need someone to talk to: contact the
course staff, or an academic advisor, or a friend, or a counselor, or access
mental health resources on campus.

In these cases please reach out to an instructor, either directly via email or using a
private message on the course forum.

Collaboration
Learning computer science requires hard work and
practice. CS 124 has specific policies about when and how
you may collaborate with other students. These policies are
designed to support your learning. If you subvert them,
you are not getting the practice that you need to improve.
Unless specifically permitted, all work submitted for CS 124 must be your
own. We describe exceptions that apply to homework problems and to portions of
the machine project below.

Cheating in CS 124 may result in a grade reduction, removal from the CS program,
or dismissal from the University of Illinois. We have many bright, honest students
that want to learn computer science. We don’t waste time and energy on cheaters
that don’t want to learn.

Specifically, the following activities constitute cheating and will be dealt with
according to the relevant departmental and university policies.

You may not:

1. Turn in work that was completed by anyone other than yourself.


2. Copy or paste code that you did not write from any source.
3. Misrepresent your work as the work of another student.

https://www.cs124.org/syllabus/Fall2024 10/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

4. Examine another classmates solution, reproduce it, and submit it as your own
work.
5. Share information about the content of quizzes or other private course
assessments with other students.
6. Publish your coursework anywhere where other students can find them.
7. Email or share your code with anyone in the class now or in future semesters.
8. Work on the MP without your partner if you have chosen to work with a
human partner.

Note that this includes publishing your MP publicly on GitHub. Employers are
typically uninterested in seeing your solutions to assignments that have also been
completed by hundreds of other students. If you want to impress them, fill your
online portfolio with independent creative work. We’ll help you get started with
Android development this semester, which will allow you to pursue independent
projects after completing CS 124. You may also want to look into completing a
project as part of the CS 124 honors section: CS 199 124 .

We will run cheating detection software on all submitted student work. These
programs are extremely accurate, and any evidence of cheating that they uncover
will initiate academic integrity violation proceedings. In Fall 2022 we filed 42 FAIR
violations almost all of which resulted a letter grade reduction. We are serious
about this, and ask you to be serious about learning.

A Rule of Thumb
A general rule of thumb is that exchanging or soliciting ideas about how to solve
problems is not cheating, but exchanging code is cheating. Feel free to discuss your
solutions with other students as long as you do not provide them or allow them to
view your source code. If you are speaking or signing in English or another human
language that’s fine. If you are exchanging computer code, that’s cheating.

Penalties
If you are caught cheating in CS 124 you will definitely receive a FAIR
violation. Depending on the severity of the situation, you may also have any of the
following penalties applied:

A letter grade reduction in the class.


https://www.cs124.org/syllabus/Fall2024 11/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

An F in the course.

Homework Collaboration
You may find it helpful to collaborate on the homework
with others. This is permitted in CS 124, subject to the rules
outlined below.
The goal is to support each other’s learning and practice talking about the
problems and computer science together. However, there are lots of ways to work
together that could lead you both learning less than if you had worked
independently. And please keep in mind that you will need to complete the weekly
quiz on your own, and the homework problems are a critical way to prepare for the
quizzes.

If you are interested in collaborating on the homework problems, you may do so


freely. We encourage you to find good collaborators. A good collaborator is
someone who works at a similar pace and who you feel comfortable exchanging
questions with. When you complete the problem, you should both feel confident
that you understand the problem you worked on together, and could tackle it on
your own. Since you will need to on the next quiz!

You may examine code written by your collaborators—either in person or virtually.


However, you may not electronically directly transfer or receive source code. Our
homework problems prevent you from directly pasting text anyway, so this
approach won’t be helpful. All collaborators must enter their own solution, and we
expect to see small differences even from students who worked together.

One final thing to keep in mind is that the course staff are always available to help!
You’ll find helpful course staff on our tutoring site for hours and hours each day
and night. In many ways, our course staff are better prepared to collaborate with
you on your homework than other students. They have completed the problems,
but are not experienced enough to quickly notice every mistake. And, most
importantly, they are trained to help you in ways that enable your learning, not just
quickly lead to you to a solution.

https://www.cs124.org/syllabus/Fall2024 12/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

MP Collaboration
You may work independently, collaborate with another CS
124 student, or utilize AI coding tools when working on the
machine project.
Note that, regardless of how you choose to work on the project, your
submissions will be checked for plagiarism in the same way, and you are
always expected to adhere to CS 124 collaboration policies. The only exception
is if you choose to work with another student. In that case, code submitted by you
and your partner should be identical and submitted at similar times, since you
should be completing all of your project work together, as described below.

We will provide more details about how to indicate that you are collaborating and
who you are working with when the machine project is released.
Working Independently
You may choose to work independently on the machine project. The project is
intended to be something that a single student can complete. For many students,
they also learn the most when they work this way. Keep in mind that you have
support from the course staff available whenever you need it!
Working With Another Student
If you choose to work with a human partner, you must complete all of your work on
the MP together. You may not write or debug code without your partner. You
also may not receive help from course staff without your partner.

This type of enforced collaboration is not common industry practice. Even


developers who might choose to collaborate on trickier parts of a project would still
perform most of their work independently. But our policy is designed to ensure you
both have the opportunity to learn from all parts of the project. When you are
working, you need to alternate who is driving—meaning using the keyboard. We
recommend setting a timer to remind you when to switch drivers.

You cannot switch partners during the MP. But you and your partner can decide to
end your collaboration at any point. If you decide to part ways, you and your
https://www.cs124.org/syllabus/Fall2024 13/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

partner can continue using the codebase that you worked on together until that
point.
Utilizing AI Coding Tools
You may choose to take advantage of AI tools that support software development,
such as GitHub Copilot and GPT. If you select this option, you must work
independently, and not with another CS 124 student.

CS 124 does not provide explicit support or training in the use of these tools.
However, you may find them helpful, both now and in the future.

A few notes if you choose this option:

1. Your code will still be checked for plagiarism. If you submit code that is
highly-similar to code submitted by another student, we will move forward
with academic integrity proceedings. Claiming that your code was generated
by AI will not be considered a valid excuse. You should keep in mind that AI
tools sometimes generate fairly unusual solutions, and code that might be
similar to code generated by others using similar prompts.

2. Course staff will not assist you if you do not understand your own code.
Do not ask AI to complete a portion of the code and then come to the tutoring
site for support if you don’t understand what it generated. Debugging and
understanding code generated by AI is part of the challenge of using these
tools.

3. Quizzes will cover both coding and conceptual MP content. And you will be
expected to complete these questions in the testing center unaided.

If you have questions about this option, please ask on the forum.

Grading
Your grade in CS 124 is determined by your work on the
daily homework (10%), weekly quizzes (60%), and longer
multi-part Android programming project (30%).

https://www.cs124.org/syllabus/Fall2024 14/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

There may also may be opportunities to earn extra credit during the semester. Stay
tuned!

Grade Components
Your total score in CS 124 is broken down as follows:

Component % Assessments Drops


Machine Project (MP) 30% ~4 0
Homework 10% ~70 6
Quizzes 60% 15 3

These weights are designed to reflect both the amount of time that students spend
on each part of the class and the differences between the proctored and
unproctored environments. You will spend most of your time completing the MP
and homework problems. That is where you will get the practice that turns you into
a computer scientist and hacker. The quizzes give us a chance to evaluate your
abilities in a controlled setting.

Details about each grade component are included below.

Drops
To account for illness, absence, forgetfulness, mistakes, temporary stupidity, and
other normal life events, we will drop a few of your lowest quiz and homework
scores. The table above summarizes the drop policy for each grade component.

So, for example, we will assign roughly 70 homework problems and drop your
lowest 6 scores. The machine project has approximately 4 checkpoints and we not
drop any checkpoint scores.

Estimating Your Letter Grade


Letter grades in CS 124 are assigned based on how well you do, not on your
performance relative to other students. We have an unlimited number of A
grades! If everyone in learns the material, everyone will make an A. Our goal as
course staff is to help everyone succeed.

https://www.cs124.org/syllabus/Fall2024 15/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Inevitably the difficulty of various parts of the course varies from semester to
semester. We do not release the final grading scale until the end of the semester.
Please do not ask us to estimate your grade.

Instead, focus on learning the material to the best of your ability.


Programming in particular is a skill—the more you do, the better you get. Focus on
doing as much as you need to become proficient, rather than the amount required
to make a particular grade.

Posting Grades
CS 124 maintains its own gradebook on the course website. We do not post grades
on other websites or platforms.

Homework (10%)
Learning to program takes regular consistent practice.
When you are getting started, you’ll tire quickly from this
engaging right-left brain activity. So it’s better to do a bit
each day than large amounts in one sitting.
Each CS 124 lesson contains a small programming problem for you to complete.
Some contain debugging challenges as well. Completing the daily homework and
debugging challenge will help ensure that you are well-prepared for each week’s
quiz. Quiz programming problems will be similar to the ones that you completed on
the homework during the previous week.

Late Submission Policy


It is extremely important that you keep up with the daily homework. If you fail to
complete the homework regularly, you will struggle on the weekly quizzes, which
draw heavily from concepts reinforced by the previous week’s homework.

However, we also want you to complete the homework, even if you don’t get to it
right on time. To balance these competing objectives, we provide partial credit for
some homework submissions after the deadline. This will be clearly marked on

https://www.cs124.org/syllabus/Fall2024 16/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

each homework on on the grading page. For example, for many problems you may
lose 2 points out of 10 total per day late.

Quizzes (60%)
60% of your grade is for performance on 15 weekly timed
quizzes. All quizzes will be given in the Illinois Computer-
Based Testing Facility (CBTF) and scheduled via their
scheduling tool .
CS 124 quizzes consist of a mixture of multiple-choice questions, programming
questions, and debugging challenges. All questions are automatically graded.
Unlike other “top” CS programs, we evaluate your programming not on paper but in
a much more sane setting: using a keyboard, and with automated computer-
generated feedback to help you identify and correct your mistakes. You know—the
way you’ll actually write code in the real world.

No course staff are involved in grading CS 124 quizzes, so please do not


appeal your grade to the course staff. If you have concerns about the questions
themselves, please post on the forum after the quiz ends. We have also begun
releasing the programming questions from each quiz after the quiz ends, and so
you may use these to continue to practice and understand the mistakes you made
during the quiz. You can check your official quiz scores using our online grading
page.

Format
Quiz questions are a mix of multiple-choice questions drawn from lesson content,
small programming problems, and debugging challenges. Programming problems
may be drawn from previous homework or appear later as homework.

Most multiple-choice questions allow unlimited attempts, albeit for a decreasing


number of points. We do want you to eventually find out what the right answer is,
even if you didn’t know it at first.

https://www.cs124.org/syllabus/Fall2024 17/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

You have unlimited attempts at the programming problems and debugging


challenges without losing credit. At this stage, we want you to practice—and we
won’t penalize you for doing so. However, obviously you do not have an unlimited
amount of time to complete the quiz.

The multiple-choice questions should be easy if you have following along with the
daily lessons. You may find the programming questions and debugging
challenges more challenging. Programming under time pressure can be difficult
and stressful. You don’t have unlimited time or access to resources such as the
course staff or the internet. However, we believe that there are small programming
and debugging tasks that you should be able to complete as the semester goes on
without needing to look up things online or ask for help.

Quiz Preparation
Quizzes focus on material covered since the previous quiz, but all material covered
to that point in semester is fair game. The best way to prepare for a quiz is to
complete the previous lessons. Read the lesson, watch the videos and
walkthroughs, and interact with the examples, attempt the practice problems—and
then complete the homework problem and debugging challenges. If you engage
with the course content on a daily basis, you will not need to cram material right
before the quiz.

Missed Quizzes
Do not contact the course staff regarding missed quizzes. We will drop your 3
lowest quiz scores when computing the quiz component of your final grade.

If you miss a CBTF reservation, you will need to visit the CBTF in-person to
reschedule. However, the ability to reschedule is based on availability, and not
guaranteed. We will not extend quiz windows to accommodate students who miss
quizzes.

Catch-Up Quiz Grading


The material in CS 124 is cumulative, and in large part each daily lesson build on
the material covered previously. And, we realize that sometimes, you think you’ve
understood a concept, but your performance on a quiz proves otherwise. If you
https://www.cs124.org/syllabus/Fall2024 18/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

perform poorly on a quiz, what we want you to do to continue to succeed in CS 124


is go back and review that material so that you catch up and are prepared to move
forward!

That’s why we provide a catch-up quiz grading policy. Here’s how it works. If you do
better on Quiz N + 1 than on Quiz N, we’ll increase your score on Quiz N to the
average of the two scores. For example, let’s say you struggle on Quiz 3 and earn a
70, but then rally on Quiz 4 for a 90. Since your performance on Quiz 4 indicates
knowledge of the material tested on Quiz 3, we’ll increase your Quiz 3 score to 80:
(70 + 90) / 2. (If you do worse on Quiz 4, your Quiz 3 score remains unchanged. This
policy will never lower any quiz grade.)

There are a few caveats. First, we don’t apply catch-up quiz grading to quizzes that
you miss. So you have to take Quiz N for us to apply it after you complete Quiz N +
1.

Second, there are a few points in the semester when we begin new material:
specifically Quiz 6 (beginning of objects) and Quiz 10 (beginning of data structures
and algorithms). Because these quizzes cover different material than the preceding
quiz, we do not apply catch-up quiz grading to the preceding quizzes: which would
be Quiz 5 (the last quiz on imperative programming) and Quiz 9 (the last quiz on
objects).

Finally, catch-up quiz grading does not ripple backward. So we increase you score
on Quiz N because you did better on Quiz N + 1, we don’t then go back and adjust
Quiz N - 1, and so on.

Catch-up quiz grades are shown on the grading page as the “Final Score” column in
the quiz score table, with the original score in the “Original Score” column.

Reporting Quiz Problems


If you believe that you have spotted a problem with a quiz question, please report
the problem to the course staff on the forum. Do not post your questions
publicly.

At that point we will do one of the following:

https://www.cs124.org/syllabus/Fall2024 19/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

If the question has a bug, we will fix it and ensure that all students receive
full credit—even those that took the quiz before the bug was identified.
If the question has a minor typo that we don’t think affects its ability to be
correctly answered, we will fix it and distribute that change.
If the question is fine we will not do anything.

However, please keep in mind that your perception of the question’s correct answer
may be wrong. That’s the whole idea behind having the quizzes in the first place!
We will run weekly programs reviewing quiz content, although they will not be
recorded.

CBTF Policies
We use the Grainger College of Engineering’s Computer-Based Testing Facility for
our quizzes. The policies of the CBTF are the policies of this course, and academic
integrity infractions related to the CBTF are infractions in this course. If you have
accommodations identified by the Division of Rehabilitation-Education Services
(DRES) for quizzes, please submit your Letter of Accommodations (LOA) through
the CBTF website as soon as possible. It can take up to five days for your LOA to
be processed, and if you make a reservation before your LOA has been processed,
your reservation will not include your testing accommodations and you will be
required to reschedule. This must be done each semester you use the CBTF.

If you have any issue during an exam, inform the proctor immediately. Work with
the proctor to resolve the issue at the time before logging off. If you do not inform
a proctor of a problem during the test then you forfeit all rights to addressing the
problem you experienced during your exam.

Take the 10-minute CBTF Orientation and review their instructions before your
first exam.

Final Exam
CS 124 does not have a final exam. We will run the last quiz on the Tuesday of the
final week of class, but we do not give an assessment during our scheduled exam
time.

Machine Project (MP) (30%)


https://www.cs124.org/syllabus/Fall2024 20/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Programming is a skill. The more you do, the better you


become. The CS 124 machine project (MP) is one of the
ways that you will learn the powerful skill of computer
programming—today’s modern superpower .
The MP is worth 30% of your grade. Working on it will deepen your understand of
the material covered in lecture, and improve your performance on the quizzes.

Not Machine Problems: A Machine Project


Many other programming courses give a series of unconnected programming
assignments. In prior semesters CS 124 did this as well and referred to each as a
machine problem.

However, in 2019 we replaced the multiple unconnected assignments with a single


machine project: an Android application that you will complete in parts over the
second half of the semester. We hope that this format will encourage you to fix up
and improve the parts of the project that you completed previously, while also
allowing you to complete a more substantial project.

It is rare in software development to start something from scratch, work on it for


only a few weeks, and then never touch it again. Completing a single longer project
will better prepare you for future programming tasks—both in industry and side
projects that you may do on your own. What is more normal is to work on more
interesting and larger pieces of code for months or even years—starting with
something simple and then gradually adding features and complexity, just as you
will do this semester. You are forced to live with your mistakes and decisions, but
also end up creating something much more significant.

How to Complete the MP


To help you conquer the large machine project, we break it down into checkpoints
that will happen roughly once every two weeks once the project begins. Each
checkpoint is designed to take a significant amount of time. You should arrange
your schedule so that you can devote a significant amount of time on them. Do not
start the night before. Not only will it be unlikely that you will complete that
https://www.cs124.org/syllabus/Fall2024 21/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

component of the MP, but you will also be unlikely to be able to get help when you
get stuck.

Learning to program is like learning other skills—how to play an instrument, throw


a tight spiral, cook the perfect omelet, or learn another human language. You have
to do it every day. You can’t expect to complete a marathon or perform at Carnegie
Hall if you start practicing the night before.

As soon as each checkpoint is released, sit down and spend a few hours on it. And
then do that the next day, and the day after that. If you start early and work often,
you will have no problem completing the checkpoint before the deadline. If it turns
out to be easy for you, you’ll be done early and can relax and help other students. If
it turns out to be more difficult, you’ll know early on and be able to budget your
time accordingly to complete it on time. Nothing correlates more strongly with
success on the MP checkpoints than starting early.

Staggered Deadline Policy


To allow us to support your work on the MP more
effectively, we break the class into two teams, and stagger
their deadlines by 24 hours.
The CS 124 project is completed over a series of checkpoints, each with its own
deadline. However, you’ll notice that each checkpoint has two deadlines—one for
the Orange (or Blue) Team, and the second one day later for the Blue (or Orange)
Team. You’ll be assigned to one deadline team at random, and if you choose to
collaborate, collaborators will be assigned to the same deadline team when they
form a group.

Why we do this is simple: It allows the course staff to provide better support around
deadlines. Despite the fact that the best way to succeed on the project is to start
early and follow our schedule, some of you will still end up needing last-minute
support. Splitting the class in half allows us to do a better job of supporting
everyone, and has been shown to significantly reduce wait times near checkpoint
deadlines.

https://www.cs124.org/syllabus/Fall2024 22/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Isn’t this unfair? After all, for each checkpoint, one team’s deadline will be earlier.
This is a valid concern. Note that we will provide each team with the test suites
needed to start each checkpoint as soon as they complete the previous checkpoint,
to provide both teams with an equivalent amount of time between receiving the
tests and the due date.

This is also not the first time that we have used the split deadline model. In the
past, performance of both teams was indistinguishable, indicating that neither had
an advantage. We will review the performance on the MP of both teams again at
the end of this semester and correct any large disparities if needed.

At the end of the day, staggered deadlines help everyone do better on the project
by flattening load spikes on the tutoring site, tutoring center, and forum. As always,
the goal of the entire staff is for everyone to succeed at the project. This helps us
support you in that shared goal.

Late Submission Policy


It is extremely important that you keep up with the MP. CS 124 moves quickly, and if
you get behind early you will quickly find yourself lost and unable to complete the
later assignments.

As a result, the late submission policy is designed to reward students that do a fair
amount of work before the deadline. Here are the details of the policy:

We award points on most MP checkpoints for starting on time and reaching a


certain milestone well before the checkpoint is due
You can submit each MP checkpoint as many times as you want until 11:59:59
PM on Wednesday 12/11/2024.
Late submissions can earn back 50% of any points lost by your best on-time
submission. So if you submit code that earns 80/100 before the deadline, you
will receive a 90/100 if you submit a perfect checkpoint (100/100) after the
deadline. If you submit code that earns 0/100 before the checkpoint deadline,
the best you can do is a 50/100 with a perfect submission anytime after the
deadline.
Late submissions will not recover any starting-on-time points. So if there were
10 starting-on-time points that you did not earn, and your best score before
https://www.cs124.org/syllabus/Fall2024 23/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

the deadline was a 60/100, the best you can do is a 75/100: half of the 30
points you missed that were not for starting on time.
You will always receive the best score earned by any submission.

Extra Credit
There may be opportunities to earn extra credit this semester. Note that we do not
give extra credit for things that we think that you absolutely should be doing to
succeed in the class. We might provide extra credit for providing some data that
helps improve the class, or bearing with us while we try something experimental
and new, or for helping other students.

We’ll definitely let you know about any extra credit opportunities as they arise.

Accommodations
We are more than happy to make arrangements to help accommodate students
with disabilities. Please assist us by informing us of your situation as soon as
possible. The earlier in the semester you can let us know what kind of help you
need, the better prepared we can be to provide it effectively.

Please upload your Letter of Accommodation using this form , to ensure we have
it on file. Note that to access this form, you will first need to visit the Illinois Cloud
Dashboard and enable Google Apps Integration. To receive testing
accommodations on weekly quizzes, you will also need to provide your letter to the
CBTF, using their form .

Note that in many cases your letter of accommodation will require that you request
accommodations before or on the relevant deadlines. If you fail to do so, we will
not consider late requests. Part of our job in ensuring that you succeed in CS 124 is
keeping you on track throughout the semester. By the time the end of the semester
rolls around, it is far too late to begin asking for deadline extensions and
completing missed assignments.

Other Policies

https://www.cs124.org/syllabus/Fall2024 24/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Below we summarize some other general course-related


policies.
Extensions
CS 124 is a fast-moving and demanding course. You signed up to learn computer
science and programming for 15 weeks, and we do our best to give you your
money’s worth.

One of the consequences of this is that it is hard to catch up if you have a


significant illness or other problem mid-semester. We will give extensions on the
MP and other assignments to accommodate unforeseen short-term circumstances.
But if you are struggling with a larger issue, you should consider withdrawing and
enrolling again next semester.

To receive an extension you should approach the course staff before the
relevant deadline. Except in exceptional cases—hospitalization, verifiable
kidnapping by aliens—we will not grant requests for extensions or other
accommodations after the relevant deadline has passed.

Diversity Statement
We want our course to be welcoming and inclusive.
If there is anything that we can do to make you more comfortable in CS 124, please
let us know. Here’s the official Illinois text that has helpful info:

The University of Illinois is committed to equal opportunity for all persons,


regardless of race, ethnicity, religion, sex, gender identity or expression,
creed, age, ancestry, national origin, handicap, sexual orientation, political
affiliation, marital status, developmental disability, or arrest or conviction
record. We value diversity in all of its definitions, including who we are, how
we think, and what we do. We cultivate an accessible, inclusive, and equitable
culture where everyone can pursue their passions and reach their potential in
an intellectually stimulating and respectful environment. We will continue to
create an inclusive campus culture where different perspectives are
respected and individuals feel valued.
https://www.cs124.org/syllabus/Fall2024 25/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Mental Health Statement


Mental health is both important and an important
challenge in computer science.
We will discuss how to stay sane in computer science at various points throughout
the semester. But overall, if there is anything that we can do to support your mental
health during the semester, please let us know. Here’s the official Illinois text that
has helpful info:

Diminished mental health, including significant stress, mood changes,


excessive worry, substance or alcohol abuse, or problems with eating and/or
sleeping can interfere with optimal academic performance, social
development, and emotional wellbeing. The University of Illinois offers a
variety of confidential services including individual and group counseling,
crisis intervention, psychiatric services, and specialized screenings at no
additional cost. If you or someone you know experiences any of the above
mental health concerns, it is strongly encouraged to contact or visit any of
the University’s resources provided below. Getting help is a smart and
courageous thing to do—for yourself and for those who care about you.

Counseling Center : 217-333-3704, 610 East John Street Champaign, IL 61820

McKinley Health Center : 217-333-2700, 1109 South Lincoln Avenue, Urbana,


Illinois 61801

Classroom Climate
Our course goals can only be accomplished in a setting of
mutual respect.
Our staff are committed to creating a classroom environment that welcomes all
students, regardless of their identities—race, class, gender, sexual orientation,
religious beliefs. We all have unconscious biases, and we will try to continually
examine our judgments, words and actions to keep our biases in check and treat
everyone fairly. We hope you will do the same. If you feel comfortable, please let us
https://www.cs124.org/syllabus/Fall2024 26/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

know if there is anything we can do to make sure everyone is encouraged to


succeed in this class.

Here’s the official Illinois text that has helpful info:

The intent is to raise student and instructor awareness of the ongoing threat
of bias and racism and of the need to take personal responsibility in creating
an inclusive learning environment. The Grainger College of Engineering is
committed to the creation of an anti-racist, inclusive community that
welcomes diversity along a number of dimensions, including, but not limited
to, race, ethnicity and national origins, gender and gender identity, sexuality,
disability status, class, age, or religious beliefs. The College recognizes that
we are learning together in the midst of the Black Lives Matter movement,
that Black, Hispanic, and Indigenous voices and contributions have largely
either been excluded from, or not recognized in, science and engineering,
and that both overt racism and micro-aggressions threaten the well-being of
our students and our university community. The effectiveness of this course
is dependent upon each of us to create a safe and encouraging learning
environment that allows for the open exchange of ideas while also ensuring
equitable opportunities and respect for all of us. Everyone is expected to help
establish and maintain an environment where students, staff, and faculty can
contribute without fear of personal ridicule, or intolerant or offensive
language. If you witness or experience racism, discrimination, micro-
aggressions, or other offensive behavior, you are encouraged to bring this to
the attention of the course director if you feel comfortable. You can also
report these behaviors to the Bias Assessment and Response Team (BART) .
Based on your report, BART members will follow up and reach out to students
to make sure they have the support they need to be healthy and safe. If the
reported behavior also violates university policy, staff in the Office for
Student Conflict Resolution may respond as well and will take appropriate
action.

Wellbeing and Distress


We care about you first and foremost as a human—not as a
student.
https://www.cs124.org/syllabus/Fall2024 27/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

Your wellbeing should be your top priority and much more important than this
class. We consider wellbeing as being able to continually meet your needs for sleep,
food, exercise, socializing, relaxing, and emotional support. We want to
destigmatize distress, but not normalize distress. It is unfortunately common to
experience distress in school and I want you to know that you’re not alone if you’re
experiencing some form of distress. When this happens, reaching out is essential! If
we normalize this distress, we might incorrectly assume that we shouldn’t reach
out.

Here’s the official Illinois text that has helpful info:

As members of the Illinois community, we each have a responsibility to


express care and concern for one another. If you come across a classmate
whose behavior concerns you, whether in regards to their well-being or
yours, we encourage you to refer this behavior to the Student Assistance
Center (1-217-333-0050) or online. Based upon your report, staff in the
Student Assistance Center reaches out to students to make sure they have
the support they need to be healthy and safe. Further, as a Community of
Care, we want to support you in your overall wellness. We know that students
sometimes face challenges that can impact academic performance (examples
include mental health concerns, food insecurity, homelessness, personal
emergencies). Should you find that you are managing such a challenge and
that it is interfering with your coursework, you are encouraged to contact the
Student Assistance Center (SAC) in the Office of the Dean of Students for
support and referrals to campus and/or community resources. The SAC has a
Dean on Duty available to see students who walk in, call, or email the office
during business hours. For mental health emergencies, you can call 911 or
contact the Counseling Center.

Diminished mental health, including significant stress, mood changes,


excessive worry, substance/alcohol abuse, or problems with eating and/or
sleeping can interfere with optimal academic performance, social
development, and emotional wellbeing. The University of Illinois offers a
variety of confidential services including individual and group counseling,
crisis intervention, psychiatric services, and specialized screenings at no
additional cost. If you or someone you know experiences any of the above
https://www.cs124.org/syllabus/Fall2024 28/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

mental health concerns, it is strongly encouraged to contact or visit any of


the University’s resources provided below. Getting help is a smart and
courageous thing to do—for yourself and for those who care about you.
Counseling Center : 217-333-3704, 610 East John Street Champaign, IL 61820

McKinley Health Center : 217-333-2700, 1109 South Lincoln Avenue, Urbana,


Illinois 61801

Confidential Resources
If we learn about a situation in which a student is in danger
of harming themselves or others, or has been seriously
harmed, I may be legally required to notify the Title IX
Coordinator.
If students want to speak with someone confidentially, these resources are
available on and off campus . Speaking with a confidential resource does not
preclude students from making a formal report to the Title IX Coordinator.
Confidential resources can walk students through all of their reporting options.
They can also provide students with information and assistance in accessing
academic, medical, and other support services they may need.

Here’s the official Illinois text that has helpful info:

The University of Illinois is committed to combating sexual misconduct.


Faculty and staff members are required to report any instances of sexual
misconduct to the University’s Title IX and Disability Office. In turn, an
individual with the Title IX and Disability Office will provide information about
rights and options, including accommodations, support services, the campus
disciplinary process, and law enforcement options. A list of the designated
University employees who, as counselors, confidential advisors, and medical
professionals, do not have this reporting responsibility and can maintain
confidentiality, can be found here . Other information about resources and
reporting is available here .

Religious Observances
https://www.cs124.org/syllabus/Fall2024 29/30
8/28/24, 10:06 AM CS 124: Fall 2024 Syllabus

For people of many religions, school conflicts with their


religious holidays.
Even when religious holidays don’t fall on a class day, you might typically take time
off from work to celebrate.

The CS 124 drop policy is how we accommodate religious observations that affect
your ability to complete the homework. If you need to take a quiz early or a day
late, or need an extension on the machine project, please let us know. We can work
together to make a plan that works for you.

Here’s the official Illinois text that has helpful info:

Illinois law requires the University to reasonably accommodate its students’


religious beliefs, observances, and practices in regard to admissions, class
attendance, and the scheduling of examinations and work requirements. You
should examine this syllabus at the beginning of the semester for potential
conflicts between course deadlines and any of your religious observances. If
a conflict exists, you should notify your instructor of the conflict and follow
the procedure outlined here to request appropriate accommodations. This
should be done in the first two weeks of classes.

https://www.cs124.org/syllabus/Fall2024 30/30

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy