Skip to main content

Fundamentals of Software Development

Overview

Contact Us for Course Details

Contact us

Outcomes

By the end of this course you will be able to:

  • Structure and Style Web Documents: Structure web pages using HTML5 for semantic content, and integrate and modify styles using CSS frameworks, applying responsive design principles, animations, and transitions.
  • Develop Interactive Web Applications: Understand and apply JavaScript fundamentals, including object-oriented programming, DOM manipulation, external libraries, AJAX, and manage stateful DOM with React components.
  • Master Web Development Concepts: Explain modern web architecture, including RESTful APIs, MVC design, server-side routing, authentication, version control with Git/GitHub, and deploy applications to cloud services.
  • Utilize Industry-Standard Tools: Configure development environments with tools like Unix, command prompts, text editors (VS Code), MongoDB, Auth0, and Trello, employing industry-standard workflows.
  • Execute Collaborative Projects: Build multi-page websites and web applications in teams using professional HTML, CSS, and JavaScript standards, practicing agile development methodologies like pair-programming and project management with Kanban boards
Please ensure to have a computer that meets the specified requirements:

 

  • Supported operating systems: macOS, Linux, or Windows (Pro edition required).
  • Latest OS version, fully up to date.
  • All security updates installed.
  • At least 100GB of free space on the hard drive.
  • At least 16GB of RAM, 32GB RAM is strongly preferred.
  • Support for video conferencing and screen-sharing, with a reliable webcam and microphone.

Module 1

  • Learning. Writing with Markdown.
  • The Programmer’s Computer
  • Version Control and Cloud Storage
  • Structuring Web Pages with HTML
  • Styling Web Pages with CSS
  • Making Web Pages Interactive with JavaScript
  • JavaScript Programming Fundamentals
  • Basic Math, Logic, and Computer Architecture

Module 2

  • Overview of Development – Website with Correct HTML, CSS, and JavaScript Setup
  • Fundamentals of HTML, CSS, and JavaScript – Handling User Inputs and Outputs
  • Flow Control; Box Model – Implementing Conditional Logic
  • JavaScript Functions; Collaborative Coding – Encapsulating Logic within Functions
  • Working with Images, Color, and Style; Branching – Achieving Fidelity; JavaScript and Git Branching Practice

Module 3

  •  JavaScript Objects; The DOM – Create and render data in the DOM
  • Object-Oriented Programming; HTML Tables – Transform literals into constructors; Dynamic table generation
  • CSS Layout: Flexbox – Wireframe task; Applying styles
  • HTML Forms & JavaScript Events – Form handling and dynamic elements
  • JavaScript Debugging; CSS Layouts – Git workflow; Using JS Debugger; Generate HTML from a prototype

Module 4

  • Audio/Visual; Accessibility; Math.random() – Choosing random values and gathering user input
  • External Libraries and Documentation – Incorporating Chart.js
  • Managing Application State with Local Storage – Saving and retrieving data locally
  • Psychological Safety – Investigating an existing codebase
  • Project Initiation – Practicing resolving merge conflicts

Module 5

  • Design Blueprints, User Scenarios, System Blueprint, Development Processes, Technical Writing, Team Contracts
  • Initial Development Stage
  • Basic Functional Product
  • Final Touch-ups, Rehearsal for Demonstrations
  • Project Demonstrations in Real Time

Module 6

  • Introduction to React and Component Based Design – Array forEach
  • Managing State and Props in React – Array map
  • Using Functions as Props – Array filter
  • Working with Forms in React – Array sort
  • Conditional Rendering and Routing – Array reduce

Module 7

  • Handling Asynchronous Operations and Integrating External APIs – Distinguishing Between Value and Reference Types
  • Setting Up Express Servers – Techniques for String Manipulation: Split, Join, Slice, Splice
  • Working with APIs – Regular Expressions (Regex)
  • Code Organization and Improvement – Self-Study: Exploring Object Properties and Methods (keys, values, entries)
  • Data Persistence Techniques – Working with Two-Dimensional Arrays

Module 8

  • MongoDB, Mongoose, and Data Schema Design – Chaining Methods
  • Managing Resources: Creation and Removal – Advanced Regex Techniques
  • Resource Modification – String Methods: includes, every, substring, charAt
  • Inclusion, Equity, and Diversity in Tech
  • User Authentication

Module 9

  • Design Mockups, User Requirements, System Blueprint, Development Workflow, Project Documentation, Team Agreements
  • Initial Development Stage
  • Core Functional Product
  • Final Refinements, Presentation Rehearsal
  • Live Project Showcases
To successfully pass the class, students should aim to reach a minimum of 90% of the available points. We’ve created a flexible environment which will enable you to have the best learning experience and elevate you on to greater heights. 
Punctuality, participation in discussions, completion of assignments, and demonstration of professional courtesy to others are required, in accordance with our Code of Conduct. 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 the published class/lab hours.

Related Courses