CS50’s New Year’s Seminars 🥂

fireworks

A Taste of Python

Join us for a taste of Python, a popular programming language introduced in CS50x and then used again in CS50’s course on web programming (aka CS50W) and CS50’s course on artificial intelligence (aka CS50AI). If you’ve never programmed before, or if you’ve had trouble getting started with CS50x on your own, this is the seminar for you! We’ll introduce you to some building blocks of programming, including “functions,” “return values,” “variables,” “conditions,” “loops,” and more. And you’ll write some of your own programs! After this seminar, you should feel more comfortable diving (back) into CS50x itself. No prior programming experience necessary. Taught by CS50’s own Brian Yu.

A Taste of SQL

Join us for a taste of SQL, a popular language via which you can store, search, and analyze data in databases. Introduced in CS50x, SQL is also used in CS50’s course on web programming (aka CS50W). A SQL database has rows and columns, just like a spreadsheet, but is much more powerful to use! Whereas a spreadsheet can store thousands of rows, a SQL database can store millions. Many, if not most, of today’s websites use SQL to store data! No prior programming experience necessary. Taught by CS50’s own Brian Yu.

A Taste of Linux

Join us for a taste of Linux, a popular operating system used by CS50 IDE (CS50’s web-based programming environment) and many of the world’s servers! While Linux can have a graphical user interface (GUI), Linux is particularly known for its (powerful!) command-line interface (CLI), which is entirely keyboard-based. Although it takes practice, a command-line interface tends to be faster than a graphical interface, which means you can get more work done more quickly! In this seminar, we’ll introduce you to basic commands like “cd,” “ls,” “mkdir”, “rm,” and “rmdir” and also more powerful commands like “cat”, “grep,” “sed,” and more. Plus, we’ll introduce you to “pipes” and input/output “redirection”! 🤯 Prior programming experience (in any programming language) recommended but not required. Taught by CS50’s own Kareem Zidane.

A Taste of Game Development

Join us for a taste of game development using Lua (a programming language) and LÖVE (a free “game engine”), a first step toward making your own game! In this seminar, you’ll learn how to make Pong, one of the world’s earliest (and most popular!) arcade games. After this seminar, you should feel more comfortable diving into CS50’s full course on game development (aka CS50G). Prior programming experience (in any programming language) recommended but not required. Taught by CS50’s own Colton Ogden.

How to Prepare

Before attending (or watching a recording of) this seminar, here’s what to do.

If using Windows
  1. Be sure you can log into cs50.ly/seminars/ed.
  2. Download and install version 11.3 of LÖVE from love2d.org. Odds are you’ll want the 64-bit installer of LÖVE.
  3. Download and install VS Code from code.visualstudio.com/download.
    • Also install the Pixelbyte Studios Love2D Support extension; hit Ctrl+Shift+X to open VS Code’s extension search menu.
  4. Create a new folder on your computer called “seminar” (or anything else); this will be your project folder.
  5. With VS Code open, drag the folder onto VS Code to open that project within VS Code.
  6. Select File > New File in VS Code and name it main.lua.
  7. Select main.lua such that it’s the actively edited file in VS Code, then type the following and save the file via File > Save:
     function love.draw()
        love.graphics.print('Hello, world!')
     end
    
  8. Hit Alt+L to have the Pixelbyte extension automatically find and open LÖVE with your main.lua loaded, and you should see the “Hello, world!” message in a new window.
If using macOS
  1. Be sure you can log into cs50.ly/seminars/ed.
  2. Download and install version 11.3 of LÖVE from love2d.org. If informed that LÖVE “cannot be opened because the developer cannot be verified,” see support.apple.com/en-us/HT202491.
  3. Download and install VS Code from code.visualstudio.com/download.
    • Also install the Pixelbyte Studios Love2D Support extension; hit Ctrl+Shift+X to open VS Code’s extension search menu.
  4. In VS Code, click the gear icon next to the installed Love2D Support extension in the Extensions menu, then select Extension Settings.
  5. In the Pixelbyte > Love2d: Path field, ensure the value is /Applications/love.app/Contents/MacOS/love. If you wish, you can place the love.app executable in a different location; just make sure the value within this field reflects that location.
  6. Create a new folder on your computer called “seminar” (or anything else); this will be your project folder.
  7. With VS Code open, drag the folder onto VS Code to open that project within VS Code.
  8. Select File > New File in VS Code and name it main.lua.
  9. Select main.lua such that it’s the actively edited file in VS Code, then type the following and save the file via File > Save:
     function love.draw()
        love.graphics.print('Hello, world!')
     end
    
  10. Type the key combination Cmd+L to have the Pixelbyte extension automatically find and open LÖVE with your main.lua loaded, upon which you should see the “Hello, world!” message in a new window.

If you have any trouble, post a question at cs50.ly/seminars/ed!

Acknowledgements

Inspired by Code in Place by our friends at Stanford!