Pre – Course Work


 Hello! Congratulations on enrolling at CodeClan!

Welcome to CodeClan and the introduction to your pre-course work! The aim of the pre-course work is to prepare you for the intensive 16 week coding course.

This means by the end of the next 3 weeks, you should:

  • Understand basic terminology related to software development.
  • Be aware and understand some of the basic concepts of object-oriented programming.
  • Be comfortable with the Mac computers and navigating the development environment.
  • Have a typing speed that will help you keep pace in class.

We'll check-in with you a few times during the 3 weeks, but if you have a big blocker stopping you from making progress or any questions, don't hesitate to get in touch.

1. Pre-Course Work Contents

The pre-course work resources are not the course materials that you will use during the 16 weeks: it is exposure, not instruction. Learn as much of the terminology as you can before you start the course, as class is very immersive and it will help you in the first few weeks. We will be starting from the beginning, but knowing as much as possible before you start will help. When completing the pre-course work, the following is the order that you will tackle the content in:

  • Week 1: Computer Familiarity, Terminal & Command Line, Git & Github
  • Week 2 - 3: Ruby, HTML & CSS

Computer Familiarity

The first thing is to make sure you're comfortable using a Unix-like computer. Your computer is going to be the tool of your trade, so it's essential that getting to be comfortable using it like a developer. Challenge yourself to learn a keyboard shortcut each day.

Terminal & Command Line

You're hopefully pretty handy already at using your computer's Graphical User Interface or GUI. However, as programmers we do prefer to use command-line access for lots of functionality - it can be a lot quicker, and it can be very powerful.

Git & Github

All the text files you create as a programmer are the source code of your applications. We use tools and utilities to help us manage these files. This gives us a safety net of backups, to make sharing with colleagues easier and to allow us to speed up our development. Of the many options we have, we're going to use a program called Git. Your Mac will have it installed.  


There are many programming languages. We are going to introduce you to the world of programming using a language called Ruby. Ruby is one of the best programming languages for beginners. Using Ruby, you will learn about the fundamentals of programming. This is why we want you to spend a fairly large chunk of time during the pre-course work weeks learning about it. It will give you a better idea of what programming is about.


We're not going to spend time teaching the basics of HTML and CSS during our 16 weeks. The basic principles are yours to study during the pre-course work.

2. Typing Speed

Practicing your typing is very important. An ideal minimum typing speed by the end of the three weeks would be 40-50 words per minute with a normal typing speed and 30-40 words per minute for Ruby code. Class can be quite fast paced at times, so to ensure you can keep up practicing your typing is essential. After all, practice makes perfect! 

3. Usernames

To help support you over the pre-course work, we will need to have your login details for certain sites. We use these details so that we can monitor your progress, offer assistance and guide you in the right direction if needed. Once you have signed up for these accounts, send the usernames to this form. The accounts you need to sign up for are:

  • Slack (we'll send you a link)
  • Codecademy
  • ­­Github

4. Using Slack

During the course, you will use Slack. Slack is a messaging service we use at CodeClan for communication between students and staff. Whilst completing the pre-course work, we encourage you to ask your fellow classmates questions using Slack. The benefits of using Slack are:

  • You get to know your cohort by discussing your interests and problems.
  • You can support each other through your pre-course work.
  • All of the instructional team are on Slack so using their knowledge is highly recommended.

5. Expectations

The pre-course work needs to be completed and we will check-in with you a few times during the three weeks, to see how you are doing and provide help with any queries or problems.

If you have any issues, responsibilities or commitments that mean you might struggle to complete the pre-course work, you need to contact us to let us know and we can offer extra support and guidance.

6. Once Completed

If you complete all the listed work, there is a ‘Keeping Warm’ section below with resources that you can use to practice. Make sure you revise what you have already done - you can complete the courses more than once. It is also essential you continue to practice typing to get your speed as high as possible.

Pre-course work resources

Below is the list of resources that you need to use to complete the pre-course work, what you need to do and when you should do it by. The pre-course work is designed to last the three weeks before the main course starts. However, we understand that everyone works at different speeds and may have different home/work responsibilities.

Codecademy has time suggestions on how long it should take to complete each course, students find this is not necessarily representative of how long it takes to complete each course. We have set aside three weeks for the pre-course work to allow you time to complete the courses at a pace that is right for you. You do not need to complete any "Pro" paid courses

Week 1

Computer familiarity:

Terminal & Command Line:

Git & Github:


Week 2




Week 3




Keeping warm

If you’ve finished all the pre-course work before the course starts, let us give you a few words of suggestion and advice. Whatever knowledge you've gained from the pre-course work, try to keep hold of it by practicing and revisiting the pre-course work you have completed. There's lots of other tutorial sites out there like Treehouse, and some offer free trials, and other incentives. Below are a few examples. They explain things their own way so don’t worry if they seem slightly different.

Optional/Additional online courses:

* Treehouse
* Udemy
* Lynda
* Codeschool 

Optional/Additional coding challenges:

There are also lots of coding challenges you can attempt, lots of them are "gamified".
* Codewars
* Exercism