Code 301: Intermediate Software Development
Class Overview
Becoming a well-rounded developer is much more than learning language syntax.
In Code 301: Intermediate Software Development, you will study the common core of software development, including the MVC pattern, object-oriented and functional programming, and computer science fundamentals such as basic data structures and algorithms. Come learn how to create and deploy web apps in the “MERN” stack with Mongo, Express, React, and Node.js, with the help of third-party APIs and libraries from around the web.
This course includes a career coaching curriculum to get you ready for your job search. The course totals 160 hours, including lectures, lab, coworking, and collaborative projects.







Coming Up
Completed Code 201 or have coding experience already? Schedule some time to talk about the full program!
Topics
Languages
- Intermediate CSS
- Intermediate JavaScript
- React
Concepts
- Web request-response cycle
- Stateful DOM Management with React components
- Express.js
- JSON and 3rd-party APIs
- Persistence with MongoDB
- Server-side routing
- Services and RESTful APIs
- Functional programming
- AJAX and asynchronous programming
- Authentication
- Deployment with cloud services like Heroku
Environments and Tools
- Unix and the command prompt
- Git and GitHub
- Integrated Development Environments (IDEs) like Visual Studio Code
- Chrome Dev Tools
- HTTP with Postman
- MongoDB and Mongoose
- Auth0
- Project management software like Trello, Asana, or GitHub Pages
Learn with Stacked Modules
Concepts in each of our courses are taught using stacked modules, where a new concept is introduced in each class session, building upon what came before it. This is a challenging style that requires persistence, practice, and collaboration, but allows more concepts to be introduced over the length of the course. This method helps students learn and retain more information in a short period of time. Learn more about stacked modules.
Outcomes
By the end of this course, you will:
- Collaboratively design and create web applications from scratch using MVC patterns, built with professional-grade HTML, CSS, and JavaScript using the React JavaScript library
- Work with string, array, and object data structures and algorithms to solve code challenges with pure JavaScript programming
- Design dynamic frontend and backend applications which can function together or independently and are deployed to cloud platforms
- Explain the fundamentals of how the World Wide Web works, over the internet
- Utilize dependency management techniques to build with third-party libraries such as Express.js and React-Bootstrap
- Persist one-to-many relational data across multiple tables in a SQL database, sourced from third-party API or user-generated content
- Follow agile software development practices during week-long sprints, including pair-programming, stand-ups, daily retrospectives, project management with Kanban boards, regular refactoring, and working in a shared code base
- Have the skills to enroll in Code 401 or attain an entry-level website development job or internship
Prerequisites
- Computer updated with latest version of OS, all security patches installed. See “Material Requirements” below
- Familiarity with basic algebra concepts
- Code 201*
Prework
Once you are accepted into the course, please complete the Code 301 Prework. This important Prework makes up part of your 301 grades!
Material Requirements
You are required to supply your own laptop that meets the below requirements. Chromebooks are not suitable for this course, since you can’t directly control installed software. You are responsible for the upkeep and maintenance of your computer throughout the course. The course will include a class session dedicated to configuring your computer to be ready for professional-grade software development the first day of class.
- 64-bit Operating System, like macOS or Windows 10
- Fully up to date, with the latest version of the operating system and all security updates installed
- At least 50 gigabytes of free space on the hard drive
- At least 8 gigabytes of RAM; 16 gigabytes of RAM strongly preferred
- Free of viruses and in general working order
- A text editor: Visual Studio Code
- A GitHub account
- Linux: Windows machines should be set up to dual-boot a Linux operating system. We recommend Ubuntu
Nights and Weekends
DeltaV understands that our software development program is a huge undertaking. That’s why we adapted the Code 301: Intermediate Software Development curriculum to a nights and weekends format! The program stretches our 4-week daytime program across 7 weeks of classes Mondays through Thursdays and Saturdays. The course still features live instruction, group projects and presentations, and career coaching, but at the pace that fits your busy life!
What are you waiting for? Let’s continue your coding journey with Code 301 Nights and Weekends!
- There are no upcoming events.
Let’s explore our flexible learning opportunities together!
Homework Policy
DeltaV Code School provides only a pass/fail transcript and does not assign letter grades to each student. However, to monitor student progress throughout each program, DeltaV Code School uses a point-based grading system that is introduced to the students on the first day of each program. In order to pass the class, students must attain at least 90% of available points. For more information, see Grading System and Disciplinary Action For Low Grades.
Attendance
Punctuality, participation in discussions, completion of assignments, and demonstration of professional courtesy to others are required. Attendance will be taken at the beginning of every class. Passing requires at least 90% attendance. Students should always contact the instructors ahead of time if they are unable to attend all or part of a class session.
Code of Conduct
Punctuality, participation in discussions, completion of assignments, and demonstration of professional courtesy to others are required. Attendance will be taken at the beginning of every class. Students should always contact the instructors ahead of time if they are unable to attend all or part of published class or lab hours.
Still have questions? We’re here to help!