Below is a general layout for each of the weeks and what to expect going in. While the specific structure of a day might change depending on subject complexity or review needed, the topics slated for a week will not (new topics might be added though depending on speed of comprehension). All of the topics listed for a week will be taught in the listed week and as such, you are encouraged to reach out for any assistance needed. In addition to the class instruction, most weeks will include either a field trip to a local business/coding group/etc. to help build your network and/or a workshop on improving your soft skills and resume. While we have specific times to focus on these things, we strongly encourage you to ask any questions about how to grow your brand and/or network throughout the entirety of the course. It is important to remember that this is an intensive course and there will be a lot of information taught. One of the most important things you can learn is to ask for help when you need it, not after the fact. All of the faculty associated with the Code Academy is there to support you so do not hesitate to reach out whenever you need the help.
Each week will consist of five class days of topics that will be (generally) structured as follows:
- Morning – Review from previous day and new topics introduced. This will consist of both instruction via live examples and hands on practice. The ratio will depend upon the complexity of the topics to be taught.
- Lunch Break
- Afternoon – Review from the morning and in class work and examples.
There will also be time to work on the daily homework depending on review needs / complexity of that day’s topics. Fridays will serve (for most weeks) as a review of all weekly topics and further class work as needed. In addition to the in-class work, each Friday will have a larger homework assignment to be completed over the weekend and reviewed the following Monday. This homework will encompass all topics that were covered in the week. There will be time on Friday to ask any questions pertaining to the homework as well as time towards the end of class to be able to work it. In addition to the above, every Friday will consist of a group lunch with Brock to discuss how the class is going and if there are any issues to be brought up. The lead instructor will not be present for this lunch as it is meant to be a free and open discussion about anything regarding the class.
The first week will be dedicated to the most basic web development topics. The week will focus on basic HTML structure as well as CSS structure to allow for styling. By the end of the week, students should have a complete understanding of HTML structure and an understanding of basic page layout with commonly used tags. Students should also be able to use all basic styling to style simple static webpages per a client’s needs. This will not include responsive design nor complex CSS like transitions / transforms / etc.
- Introduction to expectations
- Meet and Greet with Team Building Exercises
- Introduction to Scrum/Agile
- Tool Setup including Git and Command Line
- Basic HTML Overview
- Review and/or Introduction to CSS structure
- Basic selectors and Cascading Rules
- Overview of Resources available re: CSS
- In class work with HTML Tags and CSS to create a Page
- Pseudo classes / Selectors
- Floats, Clears, and Positioning
- General page layout and practice
- Flexbox and better layout
- Mock Interviews
- Group Project
- Review of topics for the week
- Group lunch with Brock
- Meeting with Tek Systems (Tech Recruiter in Omaha)
By the end of the week, students should have a full understanding of JS types and best practices for each. Students should understand how to set up and call functions as well as control statements / loops. Students should also understand the DOM and how to access any given class/element/etc. Given instructions, students should be able to take input from HTML elements and use data to do simple or moderately complex tasks and display them back to the DOM.
- Review topics from week 1
- Introduction to JavaScript
- Variable types and usage of each
- Object creating and structure
- Intro to control statements
- Loops and issues with them
- Functions and parameter/argument usage
- DRY programing practices
- Useful prototypical functions
- DOM overview and element access
- Changing DOM elements on load via JS
- Overview of events
- Callback firing and structure
- Overview of canvas in HTML5 and its uses
- Review of topics for the week
- Group lunch with Brock
- In class group project and larger homework assignment
By the end of the week, students should be able to consume any (well documented) 3rd party API. They should be able to design a fully responsive sight using mobile-first design. Students should also be able to understand how to add transitions using CSS. Students should be able to (given vague guidelines) design a site that can take input from a user to provide some form of functionality with or without API access. Students should also understand best practices for resume layout.
- Review from previous week
- Intro to responsive web design
- Mobile first design best practices
- Layout best practices
- Overview of API construction and use
- Intro to asynchronous programming
- API consumption with or without user input
- Continued API consumption work
- Advanced CSS including transforms and transitions
- Introduction to external CSS and JS libraries
- Full Review of HTML and CSS topics
- Full Review of JavaScript
- Group work and solo work involving all topics from weeks 1-3
- Field Trip
- Group lunch with Brock
- Resume Workshop
- Basic introduction to Angular and SPAs
By the end of the week students should understand the basic concepts of Angular and it's file structure / binding to templates. Students should be able to build basic SPAs and allow for the handling of events without the use of raw DOM manipulation. Students should also begin to see the use of directives as well as styling via SASS. This will also mark the beginning of the students’ brand building which will continue throughout the class.
- Angular file structure review and intro to SASS
- Angular CLI overview
- Data Binding in angular
- User interactivity with more complex binding
- Component communication via services
- Local storage and further SASS and Angular basics
- Routing usage and route protections
- In depth look at providers and events
- Directive examples
- Personal branding seminar
- Parent / Child communication
- Best practices for component structure / reusability
- Angular animations
- Introduction to Material Design
- More complex Angular Topics
By the end of the week students should understand Observables and the difference between them and promises. Students should be able to use Angular services to access an external API and use resolvers to handle route changes and give data to the loading component. Students should be able to use subscriptions to track any new values emitted by an observable and be able to map changes / utilize Rxjs tools for any new data emitted. After the intro to databases, students should be able to explain the difference between SQL and NoSQL databases.
- In depth look at asynchronous programming with Angular
- General overview of Observables vs Promises
- Use of HttpClient in Angular for API consumption
- In depth look at subscriptions
- Best practices for mapping subscriptions
- Further practice with Observables
- Route management and communication via resolvers
- Overview of state management libraries
- Best practices for state management
- Technical presentation
- Full Review of ALL front-end concepts covered thus far
- Group work and solo work involving all topics from weeks 1-5
- Full review of all Angular topics in weeks 4-5
- Group lunch with Brock
- Introduction to databases
By the end of the week, students should be able to CRUD data in a table via SQL and cross reference any tables through the use of joins. Students should also be able to set up a very basic server and serve an Angular app through it. Students also need to be able to tell the limitations of certain database designs and explain best practices for them. Students should also be able to perform basic functions in node and utilize external libraries in node and install them through NPM and the use of a package.json file.
- Overview of SQL basics and CRUD operations
- Review of database design
- Overview of best practices for database design
- PostGres and SQL best practices
- Complex SQL processes
- Introduction to Node.js
- Intro to basic Node libraries and uses
- Communication with files via Node
- API consumption options in raw Node for web-scraping
- Express introduction
- Basic server structure and best practices
- Delivering an angular app via express
- Connecting an express server to a database
- General overview of getting database information via and API
- More advanced Express topics
Students should be able to construct an API using best practices. Students should also be able to use Docker and Virtualization to help them in the development process. By the end of week, students should be able to take a simple full-stack project and deploy it to a host.
- Overview of API creation and best practices
- Dos and don’ts as examples
- Building a simple API with express and SQL
- Field Trip
- Technical Mock Interviews
- Q&A about backend topics and practice examples
- Intro to VPS and Linux work
- In class work using all concepts so far
- Overview of virtualization and practices
- In class work with Docker
- Setting up Docker and using it for simple projects
- Full Q&A for all week 7 topics
- Group lunch with Brock
- Deployment overview
- Deploy an application
Students should be able to explain how to set up authentication for a server as well as the key concepts of encryption and limitations for website security. Students should be able to use a third-party library to allow for data to be displayed in a visually clear and pleasing way. Students should also be able to explain key concepts that improve UX and help improved the UI layout.
- Review from previous week
- Overview of encryption and SSL
- Server-side authentication practices
- In class work with authentication
- Q&A for authentication practices
- Intro to data visualization library
- In class work with data visualization
- Continued work with data visualization
- Intro to UI/UX best practices
- Continued UI/UX design work with examples of good and bad
- Review of weekly topics and in class work
- Review of ALL topics from weeks 1-8
- Group lunch with Brock
- Continued review with customized class and homework
Java with Guest Instructor
Java with Guest Instructor
These weeks will mark the beginning of the Final Project. The class will be divided into groups (either randomly or to balance talent). The teams will determine who will be the lead amongst themselves and develop a hierarchy for work to be done. The teams will then meet with clients who will go through a discovery process to determine what the team will develop for the client. Due to the short time, the teams will work on 2day sprints. While the projects will be different, they will both/all test the same skillsets and require mastery of the same subjects to complete.
- Field Trip
- Discussion of Final Project and Team Assignments
- Q&A for best practices and thoughts on a process to follow.
- Discovery process with client all afternoon
- User story / sprint planning
- Project Work
- Standup and Q&A
- Project Work
- Standup and Q&A
- Project Work
- Mini-retro and spring planning
- Standup and Q&A
- Project Work
- Group lunch with updates from all teams
This marks the final week of class and as such is the final week to work on the project. Teams should focus all work on the project and be able to provide updates and MVPs of different parts to the client as needed.
- Standup and Q&A
- Project Work
- Mini-retro and spring planning
- Work on project
- Updates from client as needed
- Standup and Q&A
- Project Work
- Mini-retro and spring planning
- Standup and Q&A
- Project Work
- Standup and Q&A
- Project Work
- Group lunch with updates from all teams
- Project Delivery to client and showcase to Code Academy faculty, students, and families of students.