Spring 2015
####Course Instructor
Shaan Sapra
(630) 696 8303
Class Details
When:
Monday/Thursday: 6:00 - 7:00 pm
2nd week to 9th week (4/7/15 - 5/26/15)
Where:
Washington Park Classroom
Chicago Innovation Exchange (1452 E. 53rd Street)
Directions: cie.uchicago.edu/directions
Objective
The purpose of this course is to provide a means to learn more about technology and specifically, the fundamentals for web development. Many students who have some previous background in front-end development or business development are curious about backend-development and what is involved in building an application. Rather than relying on other programmers to build your idea, these students are encouraged to learn by themselves. However, CS classes do not focus heavily on web development for non-CS students. Dev bootcamp classes are too expensive and intense for a general curiosity. And of course self-study can be a frustrating process that can stifle all of the fun. Thus, this class was born to provide students an opportunity to learn a new skill with the help of peers and student instructors as an introduction to application development.
This curriculum for this course is designed for two 60-minute classes each week for 8 weeks (2nd to 9th week). Some programming background is recommended since the material will be covered briefly at a quick pace.
Learning Outcomes
Upon completion of this course you will be able to:
- Understand the command prompt and navigate the file system
- Use a text editor to write code
- Learn the basics of Ruby syntax and methodologies
- How to write clean, effective, modular code
- Workwith files and scripts
- Understand basic algorithms and data structures
- Writing a full Rails application with the Golden Seven
- Interact with the Facebook API
Syllabus
Week 1: Introduction to Ruby
- Ruby datatypes
- Using IRB as a playground
- Navigating the file system
Week 2: Ruby Data Structures
- Arrays and Hashes
- Control flow and loops
- Enumerable methods
Week 3: Object Oriented Programming
- Implementing a class
- Object instantiation
- Getter and setter methods
- Instance and class methods
Week 4: Introduction to Rails
- Creating your first app
- RCAV pathway
- Index and show actions
Week 5: Learning CRUD
- New and create actions
- Rails helper methods
- Edit and update actions
- Destroy action
Week 6: Associations
- Scaffolding
- More complex forms
- IMDB clone
Week 7: APIs
- Facebook API
- Parsing JSON
- Google Maps API
Week 8: Misc/Extra
Learning Resources
Online Resources
- http://pine.fm/LearnToProgram/
- http://ruby.learncodethehardway.org/book/
- https://rubymonk.com/
- https://www.codeschool.com/paths/ruby#starting-rails
- https://www.ruby-lang.org/en/documentation/
- http://www.learneroo.com/modules/61
- http://www.codecademy.com/tracks/ruby
- http://ruby.bastardsbook.com/toc/
- http://www.theodinproject.com/ruby-programming/ruby-building-blocks?ref=lnav
Attendance
While this is not an official class and no grades or course credits are conferred, please make your best effort to be present and on time to each class.