Curriculum Details
Here you will get a detailed overview of the entire course contents and key topics that the course covers.
This page aims to provide an eagle-eye overview of the course - to gauge workload, get a grasp of what topics are featured in the course and what the tutorials and exercises cover. For a more detailed week by week breakdown, head over to the course contents and find the week you're interested in!
1️⃣ Week 1️ - Foundations of Computer Science
- Fundamentals and basics - covers computer science history, ethics, and an overview of the computer - hardware and software.
- Mentality - how to mentally approach programming and problem solve like a coder. This can really help you develop a positive mindset and learn how to approach coding with confidence and less frustration.
- Topics are contextual & foundational - they provide a crucial base that will benefit you in the long run.
2️⃣ Week 2️ - Core Computer Skills for Coders
TAKE TIME to understand this week's material!
📢 NOTE! This week's material covers computer literacy and important practical skills, such as terminal work, understanding your computer’s setup, file systems, and filesystem hierarchy — concepts that are NOT explained during the fall semester.
- Material that is essential to the hands-on work you will be doing - includes terminal work, version control, files and filesystems on your computer, IDEs (integrated development environments), programming languages and development tools.
- More technical texts than week 1 - week 2 has fewer pages but more technical content compared to week 1.
- Bigger focus on practical work & tutorials available to follow
3️⃣ Week 3️ - Code and Logic
- Code!
- How code works, how programming languages work, variables, logic, and the essential building blocks of computing.
- Again, this is a week with less reading and more hands-on work.
- Write your first code! There will be tutorials available for you to follow.
4️⃣ Week 4 - Web Basics and Functions
- Dive deeper into coding - learn about functions!
- Understand networking - make sense of how networks operate and how data travels across the internet
- Explore how programmers work with web technologies, including the client/server model and the differences between front-end and back-end programming
- The week's work is balanced between practical and reading - not tons of practical work, but you might want to give yourself time to understand functions and practice them! There will be tutorials available for you to follow.
🏋🏻Exercises
EXERCISES PDF
OVERVIEW
The exercises are designed to provide hands-on practice and guide you on what to focus on. The goal of this course is to gently ease you into trying things out, helping you get your feet wet and become comfortable with the practical aspects!
PLEASE DO NOT BE ALARMED by the length of the PDF with exercises. IT IS NOT LONG BECAUSE THE EXERCISES ARE DIFFICULT OR TIME-CONSUMING.
It's lengthy because the assignments are extremely detailed, explanatory, and comprehensive, often giving you step-by-step instructions on what to do. They are intentionally straightforward, with most steps already demonstrated in the tutorials.
Week 1 | Week 2 | Week 3 | Week 4 |
---|---|---|---|
Markdown document - formatting requierements & answering questions | Follow tutorials - Tutorial 2 - The Terminal & Tutorial 3 - File systems | Write you first "Hello, World!" on Replit | Write some functions - follow a tutorial and practice writing code! |
Break the ice - ask a question on Slack and use ChatGPT | Download node.js and npm + check in the terminal they've been installed | Short coding exercises - declaring variables, playing around with booleans (true/false), numbers and strings, using console.log() to print your results, writing simple if-statements. | Ping a website - using the terminal, check if website is online |
Navigation & file operations in the terminal | Downloading VSCode & an extension + practicing using Git to upload your work from your local machine. |
Some exercises will provide you with the commands needed, while others won't. There's a reason for this.
The idea is for you to start practicing googling solutions and asking ChatGPT for help. This skill is invaluable as a programmer - often, people around you might not have a solution to a problem, so it's up to you to work together to find one. This means searching online, asking questions on forums, and exploring other resources.
If you are having issues with the exercises, look at the tutorial for that topic, and ask your fellow students. Chances are that the tutorial demonstrates the steps you should be taking (with minor adjustments).
For those taking the summer course, submitting your work is a chance to receive feedback rather than a requirement for grading - even handing in some exercises can help provide insights! Not completing an exercise won’t impact your fall course or grades. There is a guide provided on how to hand in your work for feedback using Git called "GitHub Helper" under Study Materials > How to Submit Exercises