Week 1 : Ruby

Week 1 focuses on the basics of Ruby; there is overlap with some of the Phase 0 curriculum. 
The week begins with with declaring variables and writing simple methods in a procedural programming style. 
Students are exposed to and encouraged to write pseudocode as part of their planning. 
In terms of code quality, students are encourage to write code that is human readable and maintainable (e.g., well named variables and methods, proper indentation, DRY, etc.).
As the week progresses, students begin to encounter challenges requiring more complex problem solving and are expected to be able to write both iterative and recursive solutions.

Week 2 : Object-oriented Programming

In Week 2, students begin to apply object-oriented programming principles to their code. 
The curriculum generally follows the contents of Object Oriented Programming in Ruby. 
Over the weekend between Weeks 1 and 2, students are required to read the first two chapters. 
They should continue reading and finish the book throughout the week. 
Major focuses of the week are the Single Responsibility Principle and Separation of Concerns. 
At the end of the week, students begin working with the Model-View-Controller design pattern. 
During Week 2, students also begin working with gems (e.g., Nokogiri for web scraping) and get exposure to data persistance by working with CSV files.

Week 3 : Databases

In Week 3, students begin working with databases. 
Over the weekend between Weeks 2 and 3, students work through a handful of schema design challenges, and schema design remains a focus throughout the week. 
In working with a database, students begin on Monday by using SQL, running through a number of query drills before completing challenges. 
On Tuesday, students begin working with Ruby to interact with a database and on Wednesday write their own object-relational mappers. 
On Thursday and Friday, students are working with Active Record.

Create overview for phase 1
Create overview for phase 1