Welcome to CS 124! Your journey in computer science and programming starts now. We're so excited that you are here.
CS 124 has by far the best course staff on campus. Our fantastic team of undergraduate and graduate students will be with you every step of the way.
Learning computer science and programming is not always easy. You will get frustrated along the way. But you won't need to struggle alone. Our course staff will always be there for you to offer help, support, empathy, encouragement, and lots of love. You can do this! We can help.
CS 124 consist of daily lessons and homework (30%), weekly quizzes (40%), and a longer Android programming assignment that we will release later in the semester (30%).
All course policies and procedures are fully documented by the syllabus. You should review that document and refer to it when needed. This section provides only a brief overview.
This semester you'll work through a series of daily lessons—just like this one. Lessons combine text, videos, code examples, and interactive walkthroughs. Each concludes with one or more small programming exercises for you to complete.
We expect you to work through each day's lesson on your own time. Don't fall behind! Programming is a skill, best learned bit by bit, one day at a time.
Tuesdays during your assigned lab you'll take a proctored quiz. (Note that there are no other synchronous course activities.) Quizzes cover the material taught during the previous week. If you have reviewed the lesson content and completed all of the homework and practice problems, you will be well-prepared.
Around halfway through the semester we'll release a larger multi-part Android programm assignment for you to work on called the machine project. The MP helps you continue to grow as a programmer and computer scientist by challenging you to complete a larger programming project—an entire Android app. We'll get there! But let's learn the basics first!
Learning to program is not easy, and CS 124 moves steadily. But to the degree that we challenge you, we also support you. Every step of the way.
By far the best way to get help in CS 124 is through our course forum. The forum is a hotbed of course activity, with staff and students available day and night to answer questions, commiserate, offer support, and engage in meme appreciation. When you have a question, this is usually the best place to start.
In addition to the lesson content, CS 124 many other ways that the staff help support you on your journey. Our calendar is packed with office hours and chances to get help.
CS 124 course staff are available for one-on-one help using through the help site. The video above provides a brief demo.
Our lessons contain a mixture of different types of content. Some of each lesson will be text, like what you're reading.
We also use a lot of interactive examples, like this one:
These playgrounds are editable and runnable. They are here for you to play with. Run them, modify the code, run them again. You'll learn to program must faster if you allow yourself to experiment.
When working on larger examples your changes will automatically be saved, but you can always return to the original contents. You'll know that an editor is saving your work when you see the green check mark in the upper right-hand corner, like this:
Sometimes we want to show you how to do something using code. In that case, we'll provide an interactive walkthrough, which combines audio with an animated editor. Here's an example.
Finally, we'll also sometimes use video to explain a concept or make a particular point. Or, for the staff to introduce some of their pets!
We'll be reading and writing a lot of Java computer code together this semester. But what is code?
Computers are incredibly powerful and versatile machines. If you can get them to do what you want, you can solve any problem and change the world. But how do we tell them what to do?
Here's one of the simplest examples of a computer program—one so special that it has its own name: "Hello, world!".
Run the code above and see what happens. Now, play with the code. Experiment and see what happens. Maybe try and see if you can get the code to print something other than "Hello, world!". See if you can break the code, and find out what happens when the code doesn't run. Nothing bad will happen! But see if you can figure out what is wrong with the code based on the output produced by the computer.
Each lesson concludes with a homework problem to complete. However, we will also frequently include a practice problem for you to work on. Solutions to the practice problem will be available once you've attempted it a few times. Solutions to the homework problem will be available once you complete it, or once the deadline passes.
For Fall 2021 we've introduced a new homework collaboration policy. Let's discuss how that might influence how you approach each day's homework problem.
Women in Computer Science is an organization seeking to support young female and non-binary students interested in CS. Despite the name, anyone is welcome to join, regardless of gender identity or major! We hope to see you at our events and office hours.
They introduce themselves to you in the video below: