# Lessons

CS 124 daily lessons mix text, interactive walkthroughs, video content, and small practice and homework problems.

Each one brings you one step closer to mastering the basics of computer science and programming. And the course staff will accompany you every step of the way, to ensure that you are not alone.

`06/12/2023`: Welcome to CS 124

Welcome to CS 124! We're excited to join you as you start your journey in computer science and programming. Today!

`06/12/2023`: Variables and Types

Let's begin our journey in computer science by presenting two of the basic building blocks of computer programs: variables and data types.

`06/12/2023`: Operations on Variables

Our journey continues as we examine how we can manipulate the data stored by variables in our programs.

`06/13/2023`: Conditional Expressions and Statements

One of the things that makes computers so powerful is their ability to make decisions. We'll explore that capability in our programs in this lesson.

`06/13/2023`: Compound Conditionals

Next we'll examine how to make our conditional statements a bit more complex, allowing us to make more interesting decisions based on data in our programs.

`06/14/2023`: Arrays

Let's learn about our first data structure: arrays, which put data values in order.

`06/14/2023`: Loops

In this lesson we'll cover our last core computer capability: the ability to repeat something multiple times, very quickly.

`06/15/2023`: Algorithms

Next we'll pull together everything we've learned so far and use our new skills to start solving real problems. Or, put another way, we'll start designing algorithms.

`06/15/2023`: Practice with Loops and Algorithms

In this lesson we'll pause for more practice with loops and algorithms, including several chances to get practice solving real problems.

`06/16/2023`: Functions

As we begin writing algorithms, let's stop and discuss how to organize our code into reusable units called functions.

`06/16/2023`: Errors and Debugging

Let's examine errors, debugging, and maintaining a healthy mindset as you learn to work with computers.

`06/20/2023`: More About Functions

Next we'll continue discussing functions and introduce several common algorithm patterns.

`06/20/2023`: Practice with Functions

Let's pause for a bit more practice with functions before we continue our journey together.

`06/21/2023`: Functions and Algorithms

In this lesson we'll explore the connections between functions and algorithms.

`06/21/2023`: Strings

Next we meet a new type of data and our first example of an object.

`06/22/2023`: Algorithms and Strings

Our next lesson is on algorithms and strings, and gives us a bit more practice with both.

`06/22/2023`: null

How many problems can nothing cause? Quite a few! We'll learn more about the nothing that is a huge problem in this lesson.

`06/23/2023`: Practice with Strings

Let's reinforce what we know about strings by working with a few more problems together!

`06/23/2023`: Multidimensional Arrays

This lesson expands our ability to work with sequential data into multiple dimensions!