Prework & Module a Programming Fundamentals Ruby Basics And

Prework & Module a Programming Fundamentals Ruby Basics And

CPSC S115: Introduction to Full-Stack Web Development Prework & Module A Programming Fundamentals Ruby Basics and Object Oriented - Programming Syllabus Unit Learning Objectives Reference Topics Competency Based Hours Assignments Pre- Work 1 • Understand the value and uses of • Git • Quiz: Git Basics 15 version control with Git • commit • Git Todo • Complete the full Git project flow • push • Git Flow • Work with the computer through • pull • Git Merge the command line and BASH • remotes Conflicts • add • Command Line Mystery • fork • merge • BASH • intro • ls • cd • pipes 2 • Create basic web sites using • Basic HTML • HTML Album 15 HTML • Lists Cover • Publish sites to different web • Tables • HTML Blog hosts • Images • HTML Issue Bot • Understand the distinction 9000 • Links between styling and content • HTML Map • Validatio ns Contact Forms • Site Publishing Code Along • Publishi ng • HTML5 Video to FTP Codealong • Publishi ng • HTML5 to Github Semantic Pages Elements Codealong • HTML5 • Forms • Media • Video • Semantic Elements 3 • Understand how to use CSS to • CSS Selectors • CSS Kitten 5 style HTML elements • Class Wheelbarrow • Lay block objects out using the • Id • CSS Graffiti box model Override • Element • Create interfaces for mobile and type • CSS Issue Bot web 9000 • Page Layout • Use the Bootstrap framework to • Box model • Creating increase speed of development • Overflow Columns Codealong • Fluid Height • CSS Layout Quiz • Float • ZHW Shoes • Centering Layout • Box Styles Codealong • Adding Responsive Features Codealong • Bootstrap Carousel Codealong 4 • Create basic decision trees • Conditionals • More Vowels 20 • Receive input from the • if Command Line • Badges and • switch/c ase Schedules • Manipulate strings • Looping • Deli Counter • Work with Basic Looping • while • Phone Number • for Formatter • do...whil e • Cartoon • Command Line Input Collections • gets • Jukebox CLI • Manipulating strings • reverse • upcase • interpola tion • gsub 5 • Why and when to use arrays • Adding • My Each 20 • Work effectively with adding and • Push removing from arrays ○ << • Oxford Comma • Removing • Apples and • pop • Acting on arrays with • shift Holidays iteration and introspection • Introspection • Song Sorter • Retrieve, add and delete • flatten arrays nested inside other Tweet • uniq • arrays Shortener • include ● • indexed access • Iteration • Key for min • each value • map • Spotify API Lab • select • detect • Nested Data • 2D arrays • multi-di mension al arrays 6 • Why and When to use Hashes • Adding • Hashketball 25 • Adding, removing and ○ []= introspecting hashes method • NYC Pigeon Organizer • Manipulating and • Removing and • Apples and normalizing data into nested introspection Holidays hashes • select • map • detect • Nested Data Module A 7 • Understand why Object • History of OO • Class and 20 Orientation was created • OO Patterns Instances Lab • Understand the benefits of • Separation of • Instance Object Oriented Programming Concerns Methods Lab • Differentiate between • Managing • Instance Instances and Classes Internal State Variables Lab • Implement Methods and • Classes vs. Instances • Object Properties in Classes Attributes Lab • Classes have behaviors • OO Meowing Cat • Methods • Classes have attributes • Instance Variable s • attr_aces sor • setters • getters 8 • Understand the Object • Creating an init method • Object Initialize 15 Lifecycle • setting Instance Lab • Create an initializer Variables in init • OO Basics • Other Defaults 9 • Work with the concept of self • Class Constants • OO Basics w/ 20 • Understand Class level • Creation Class Constants constructs • Why do we use • OO School them? Domain • Self • OO Counting Sentences • Class Variables • Class Variables • Why use them? and Methods • Using as a Lab collection of all • Ruby Puppy created instance s • Advanced Class Methods Lab • Class Methods • understanding the all method • Creating class methods • Private Methods • OO Program ming as interface based program mining • How to define access levels 10 • Be able to model a domain • Domain Modeling • OO Email 10 with OO principles • Deciding on Parser • Work with larger projects and properties • Anagram chunk them into smaller • Deciding on detector segments methods • OO Cash Register • What should be public vs. private 11 • Understand the power of • Why Relationships are • Belongs to 25 relating objects important Object Lab • Use a belongs to relationship • Belongs To • Has Many • Use a has many relationship • Adding to all Objects Lab • Collaborate between two class variable • Collaborating objects • Domain modelin Objects Lab • Use a has many through g a belongs to • OO My Pets relationship • Has Many • OO Kickstarter • Reciproc al • OO Banking relations hips • Has Many • Domain Objects modeling a Through Lab belongs to • Adding to class variables in both direction s • Collaborating Objects • Relation ships that aren’t ownership • When to separate behavior s/attributes into new classes • Has Many Through • Domain Modeling Has Many Through • Has Many Through just two different has many relations hips 12 • Understand the value of mass • Mass Assignment • Mass 20 assignment • Problem with Assignment • Use simple meta manual assignm LAb programming ent • Custom Erorrs • Passing in an • OO Triangle options hash • Meta programming • Using the send method • Using send to implement mass assignment 13 • Grab data from websites using • Gems and Bundler • Scraping 5 Scraping • Where to find Flatiron • Integrate third party code gems • Scraping using gems • Open Source Kickstarter • Gem version control with Licensing Bundler • How to choose gems • Installing and requiring gems • Using a Gemfile • Scraping • Nokogiri • Using CSS Selectors 14 • Working in large ruby • Domain Modeling • Playlister CLI 5 projects • Task Breakdown practice • Student • Understand how to break Scraper large problems down into • Tic Tac Toe smaller, workable chunk with AI • CLI Data Gem Assessment Module B Web Frameworks: Web Development with Rails Syllabus Unit Learning Objectives Reference Topics Competency Based Hours Assignments 1 • Understand the uses of • SQL Introduction • Bear Organizer 5 SQL • Installing SQLite • Aggregate • Understand the layout of • SQL Basics Functions Lab basic databases • SELECT • Install and run basic commands with SQLite • INSERT • Use Aggregate functions • UPDATE • CREATE • ALTER • Using .sql files • SQLite data types • Aggregate Functions • SUM • COUNT • MAX • MIN 2 • Understand what a JOIN is • Relational Databases • SQL 10 • Understand foreign keys in • History Crowdfunding Lab has many/belongs to • Relations as related relationships to ruby object • SQL Library Lab • Understand Complex joins relations and Join tables • JOIN Statements • foreign keys • Left Outer Join • Left Inner Join • Sorting and Grouping Data • ORDER BY • GROUP BY • Complex Joins • Many-to-Man y relationships • Join tables • Understand how ruby can • SQLite gem • Pokemon 10 talk to SQLite Databases • Execute Scraper • create table • results 4 • Understand the value and • Mapping Objects to tables • Mapping to 10 power of ORMs • Working with string Table Lab • build a simple ORM interpolating INSERT • Mapping DB to • Work with the inheritance • CREATE Table from Ruby Lab and meta-programming attributes • ORM update Lab required for ORMs • Mapping Tables to Objects • ORM Bringing it • Dynamically create all together attributes • Dynamic ORM • all method Lab • find methods • Bi-Directional mapping • UPDATE • save checking for persistence • Dynamic ORMs • meta programmin g attributes • Refactoring common behavior to super • Use ActiveRecord as an • ORM To Active Record • Translating ORM 15 ORM • Translate previous to AR • Understand all the features custom ORM • ActiveRecord ActiveRecord provides methods into Create, Read, • Use Rake tasks to perform ActiveRecord method Update, Delete database migrations • Use ActiveRecord • Rake Lab ::Base • Writing Migrations • ActiveRecord Costume Store • Activerecord • Rake TV-show • Create custom rake tasks • Explain Rakefile • Migrations • Explain value of migrations • Write change migrations • Run migrations without rake • Run migrations with rake 6 • Understand associations • ActiveRecord Macros • Activerecord- TVland 5 in ActiveRecord • has many • Map ActiveRecord • belongs to association to previous associations in ruby • has many :through • migrations with relationships 7 • Understand the history • Working with the Internet • Rack Todo 5 and current status of • HTTP Verbs • Rack Lab HTTP • What is a protocol • Work with the HTTP Request cycle in ruby and • HTTP Request Rack headers • Understand Rack as HTTP • URLs Middleware • HTTP Responses • Params • accessing params • Rack • Using the params hash • Value of middleware 8 • Implement the HTTP • Sinatra in app.rb • Sinatra Hello World 10 Request/Response Cycle • Sinatra as a gem • Sinatra Basic Routes with Sinatra • Simple GET Lab • Understand the value of requests in • Sinatra Basic MVC and how to implement it in Sinatra sinatra Views Lab • Render front end with ERB • Moduler Sinatra applications • Sinatra Views templating • Shotgun Lab • Sinatra Routing • Different HTTP Verbs in Sinatra • MVC • Values of MVC • Separation of Concerns • How MVC works in Sinatra • Views • Templating • in line ruby 9 • Understand how to gather • Dynamic Routes • Dynamic 15 user input through forms • Symbol routing syntax Routes Lab • Work with form data to • params hash • Basic Sinatra create responses Forms Lab • Basic Forms • Create

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us