-
1 Getting Started with Programming
Code Year begins with the basics! Getting Started with Programming will give you an introduction to JavaScript, a beginner-friendly programming language that we’ll cover with more depth in the next couple weeks.
For extra practice, we also have Fizzbuzz, a fun project designed to sharpen your new skills.
-
2 Functions in JavaScript
This week's course is Functions in JavaScript. They store blocks of code that can be called upon at any time so we can avoid having to repeat ourselves. For extra practice, we have a project called Hello, New York and a review course called More Practice with JavaScript.
Need help with Code Year lessons? We know learning something new can be tricky. Get help with lessons on our new forums. Just look for the 'Q&A' button on lesson pages.
-
3 Conditionals in JavaScript
Time for your next Code Year lesson! This week's course is Conditionals in JavaScript. We've been introduced to conditionals before with if-else statements, and today we learn more.
For extra practice, try the Dice Game project—you'll make your own dice game! For a review of last week's topic, functions, there's also the new Starting a Startup project.
-
4 Build Blackjack
This week we introduce your first challenge! Start off with a short lesson in Primitives in Javascript which includes a review of syntax and for loops. After you are done with Primitives, have a go at the challenge Blackjack: Deal 'em Up'. You will be building a blackjack game!
-
5 Objects in JavaScript
We hope you enjoyed the Blackjack challenge from last week! This week's lesson is 'Introduction to Objects I'. Objects are a data type that lets us store real world information within a single structure. They are also building blocks for a lot of the important future programming we do in JavaScript.
We also have two projects this week! First, we have a project 'Building an Address Book' that gives you an opportunity to see how objects can be useful. The second project, 'Olympic Tryouts', reviews arrays, functions and for loops!
-
6 Objects in JavaScript, Part II
This week's lesson is Introduction to Objects II. We take a closer look at objects and are introduced to object oriented programming (OOP).
Our project this week, Building a Cash Register, gives you hands-on experience with how OOP helps abstract away the complex details of a software project.
-
7 Loops in JavaScript
This week's lesson is Loops in JavaScript. We have seen a little of 'for' and 'while loops' and today we dive a little deeper.
Our project this week is Getting Dicey. It follows up on the first Dice Game and gives you a challenging practical way to use loops!
-
8 Building Blackjack
This week you will build 'Blackjack Part 2' where you continue learning to think like a programming ninja. You will get a good review of objects in this challenge.
There is also a project called 'FizzBuzz++: Return of the Modulus,' where you will learn how to use functions within methods. How handy!
-
9 Review of OOP
This week we return to review Object-Oriented Programming (OOP). This topic is central to a lot of the programming you will do. The aim of the course is to bring all the pieces of OOP together.
We also have a very practical project called Cash Register Part II. It builds on the first Cash Register project where we saw how to tally the costs of a number of supermarket objects. This project shows how to use recursion to calculate how much change to give.
-
10 Array and Loops in JavaScript
This week we learn more about arrays and loops. As we know, arrays are special variables that allow us to store more than one value at a time. In this lesson, we learn more about multi-dimensional arrays and associative arrays.
The project this week is Rock, Paper, Scissors: Part I. This part of the game involves using conditionals, giving us a great chance to remember what we've previously covered!
-
11 Recursion in JavaScript
This week we dive deeper into looking at recursion. It really is a LOT easier than most people think. We have a great lesson that takes us step by step through how to understand recursive functions. We then have a project that gets us to apply many of the things learned in the lesson.
-
12 Build Blackjack Final
You're now ready to build your full Blackjack game! Get set to test your programming and problem solving skills with this challenge.
-
13 Build a Webpage
HTML is a language that is needed to make web pages. You will learn enough fundamentals of HTML to make your own basic website. We show you how to include images, organize text, and add links.
-
14 More HTML and basic styling
We learn more about the fundamentals of HTML. The focus is on further organizing the material on a webpage using lists and tables. We also learn how to bold, align and add color to the text!
-
15 Style webpages with CSS
Learn how to combine CSS with HTML to really make your webpage look spectacular!
-
16 Advanced CSS Selectors
Pick and choose exactly which elements you want to style for the ultimate in web design control.
-
17 Introduction to CSS Positioning
Learn the basics of positioning elements on the page using CSS. Start with the box model and then float and clear your way to lovely websites.
-
18 Advanced CSS Positioning
Build on the previous lesson by exploring absolute and fixed positioning, important tools for building any web page. Includes a review of relative and static positioning.
-
19 JavaScript on the Web
You've learned JavaScript, you've learned to make basic web pages, now let's put them together! You will link your JavaScript to your HTML to create forms, radio buttons, checkboxes, and more interactive features. Then, you will use your new knowledge to build a beautiful counter that counts up and down to keep track of your favorite quantity.
-
20 Build a Webpage from Scratch!
Put together what you've learned so far to create a website from scratch using HTML, CSS, and JavaScript. Feel free to use your company's logo and content to customize the project!
-
21 JavaScript and jQuery
jQuery is a popular and useful library that makes JavaScript even more powerful. Here, we review some of the important concepts from JavaScript that you need to remember to get ready to learn jQuery.
-
22 Getting started with jQuery
Get started using jQuery, one of JavaScript's most popular and useful libraries. Use selectors to traverse the DOM and modify elements. Then, use your new knowledge to build a checkers game, including a board and moveable pieces!
-
23 jQuery DOM Mastery
Learn more about JQuery in this week's unit. This time we will delve deeper into the JQuery function. Afterward you will know how to create, insert, manipulate, and delete DOM elements like pro. You will use those skills to improve your checkers game from last week to perform all of the operations a real game would include.
-
24 jQuery Events
Learn event driven jQuery programming in this week of codeyear. This course will teach you how to interact with the viewer of your website in a real-time way.
-
25 jQuery Effects and Plugins
In this section you will learn to enhance the jQuery libraries that we have already covered. Afterwards you will be able to use effects to give a visual pop to your websites, and plugins to automate common jQuery uses.
-
26 jQuery Sliding Panel Challenge
Take a challenge this week and use your Javascript, HTML, and CSS skills to build a tab on a page that slides down when clicked
-
27 jQuery Tabbed Pages
Create a tabbed menu system in this challenge. Your menu will have multiple tabs, all with independent content that can be navigated in a clean, appealing tabbed interface.
-
28 Collapsible Message Panels
In this lesson you will create a structure that will show and hide content when a header is clicked. You will add multiple posts to the page, creating an accordion effect that is very useful for page organization.
-
29 Code'n'Tell
Use what you have learned so far to build something useful or fun. When you're done, try out our new share feature and share your application with your friends!
-
30 Python Syntax
We introduce you to Python, a general-purpose language you can use for countless stand alone projects or scripting applications.
-
31 Build a calculator!
Build a tip calculator that you can use on your next trip to your favorite restaurant.
-
32 String & Console Output
We introduce you to strings and console output in Python, including creating string literals, calling a variety of string methods, and using the "print" keyword.
-
33 Date and Time
In this small project, we'll create a program that experiments with Python's ability to give us the current date and time.
-
34 Conditionals and Control Flow
Learn how to ask questions in Python and give your programs the ability to behave differently based on the answers to those questions.
-
35 Python Translator - PygLatin
In this project we'll put together all of the Python skills we've learned so far including string manipulation and branching. We'll be building a Pyg Latin translator. (That's Pig Latin for Python Programmers!)
-
36 Functions
Streamline and turbocharge your code by grouping components together, so you can reuse them without copying and pasting.
-
37 Taking a Vacation
Plan out your next vacation with Python functions.
-
38 Lists and Dictionaries
Lists and dictionaries are powerful tools you can use to store, organize, and manipulate all kinds of information.
-
39 A Day in the Supermarket
Let's manage our own supermarket and buy some goods along the way!
-
40 Student Becomes the Teacher
Use what you've learned so far to manage your own class.
-
41 Lists and Functions
Now that you've learned about lists, let's turbo-charge them with functions.
-
42 Battleship!
In this project we will make a simplified version of the classic board game Battleship! We'll use functions, lists, and conditionals to make our game.
-
43 Loops
Loops allow you to quickly iterate over information in Python. In this lesson, we'll cover two types of loop: 'while' and 'for'.
-
44 Practice Makes Perfect
Practice problems to hone your Python skills.
-
45 Exam Statistics
Your students just took their first test. It's time to see how everyone did. Let's write a program to compute the mean, variance, and standard deviation of the test scores.
-
46 Advanced Topics in Python
In this lesson, we'll cover some of the more complex aspects in Python, including iterating over data structures, list comprehensions, list slicing, and lambda expressions.
-
47 Introduction to Bitwise Operators
Bitwise operations directly manipulate bits—patterns of 0s and 1s. Though they can be tricky to learn at first, their speed makes them a useful addition to any programmer's toolbox.
-
48 Introduction to Classes
Classes are a crucial part of object-oriented programming (OOP). In this course, we'll explain what classes are, why they're important, and how to use them effectively.
-
49 More on Classes
Make your own Car and learn how to driveCar()!
-
50 File Input/Output
Now that you understand Python syntax and have been introduced to some Python best practices, let's apply what you've learned to a real-world application: writing data to a file.