Skip to content

lekansogunle/SE-Curriculum

Repository files navigation

SOFTWARE ENGINEERING CURRICULUM

Curriculum

week 1

  • Orientation

week 2

  • 1 Web Development Basics
    • Web Fundamentals
    • The Command Line
    • The IDE
    • Using Git to Collaborate
    • Github

week 3

  • 2 Software Engineering and Web Design

    • Agile Web Development
    • Principles of Software Engineering
    • Introduction to Product Design
    • Introduction to User Experience (UX)
    • The Design Process
    • Elements of Visual Design
    • Building and Using Mockups
  • 3 Markup and Styling

    • 3.1
      • Pseudocoding
      • HTML5

week 4

  • 3 Markup and Styling

    • 3.2
      • CSS3 and SASS preprocessing
      • Developer Tools
      • Debugging Markup
  • 4 JavaScript Programming

    • 4.1 JavaScript Fundamentals, part 1
      • Hello, world!
      • Code structure
      • The modern mode, "use strict"
      • Variables
      • Intro to Data types
      • Type Conversions
      • Operators

week 5

  • 4 JavaScript Programming
    • 4.2 JavaScript Fundamentals, part 2

      • Interaction: alert, prompt, confirm
      • Conditional operators: if, '?'
      • Loops: while and for
      • The "switch" statement
    • 4.3 Data types Methods

      • String methods
      • Number methods
      • Array methods
      • Date methods
      • Objects
    • 4.4 Functions

      • Functions
      • Function expressions and arrows
      • Functional Programming

week 6

  • 4 JavaScript Programming
    • 4.5

      • OOP javascript
      • SOLID Design Principles
    • 4.6

      • The Module Pattern
      • This, Scope and Closures
      • Javascript DOM(events and effects)
      • jQuery
    • 4.7

      • Error Handling
      • Refactoring and Debugging
      • Namespacing
      • ES6

week 7

  • 5 React + Redux
    • 5.1

      • AJAX
      • Overview of Frontend Frameworks
      • Templating Frameworks
    • 5.2

      • Frontend Data Modeling
      • The React Environment
      • Components and State
      • Props
    • 5.3

      • Routing
      • Redux vs Context API
      • React Hooks
      • Webpack

week 8

  • 6 Data Modeling

    • 6.1

      • Data Relationships
      • Designing a Data Model
      • Data Normalization
    • 6.2

      • Relational Databases
      • Alternative Databases
      • Entity Relationship Modeling (ERM)
  • 7 Working with SQL

    • 7.1
      • Working with Database Schemas
      • Create-Read-Update-Destroy (CRUD)
      • Joins
      • Aggregate Functions and Groups
      • Sub Queries
  • 8 Working with NoSQL

    • 8.1

      • NoSQL OPERATIONS
    • 8.2

      • Serialization
      • Modelling NoSQL data
      • Document Databases (MongoDB)
      • NoSQL Best Practices

week 9

  • 9 NodeJS

    • 9.1 *Server-Side JavaScript
      • JavaScript Build Processes
      • Event Loop and Emitters
      • File System Interaction
  • 10 Express + APIs

    • 10.1

      • HTTP in Depth
      • Calling APIs
      • Reading API documentation
      • Basic API Authentication
    • 10.2

      • ExpressJS
      • Building your own APIs (CRUD)
    • 10.3

      • API-Based Sign-In with SDKs
      • Uploading to Amazon S3

week 10

  • 10 Express + APIs

    • 10.4
      • Deploying JavaScript Applications
  • 11 Building Resilient Software Application for Scale (Introduction)

    • Overview of resilient applications
    • Concepts of Microservices
    • Service Discovery and Security
    • Messaging/Communication between two Systems - Protocols involve
    • Scaling Application Layer
    • Scaling Database Layer
    • Application documentation (ad-on)

About

Software Engineering Curriculum

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages