How to participate effectively in open source software development.
6. Javascript 2: Object orientation
Object orientation in modern Javascript: using the class construct.
7. Configuration management
Concepts of configuration management and version control, and how they are implemented using git and GitHub.
8. Javascript 3: Functional programming
Use the underscore library to experience functional programming constructs: map, reduce, filter, every, some, etc.
9. Development Environments
Introduction to Integrated Development Environments and the IntelliJ IDEA IDE.
10. QA Part 1: Coding standards
Incorporate coding standards and ESLint into your use of Javascript, IntelliJ, and GitHub.
11. UI Design (Basics)
Learn to design basic web pages using HTML and CSS.
12. UI Design (Frameworks)
Bootstrap 5 is a CSS framework for building cross-browser, responsive user interfaces.
13. UI Design (React)
React provides a component-based UI framework in Javascript.
14. Databases (MongoDB)
Introduction to building MongoDB NoSQL databases.
15. Application Design (Meteor), Part 1
Overview of the Meteor web application framework.
16. Application Design (Meteor), Part 2
Explore three simple templates for multi-user, multi-role, interactive web applications using Meteor, MongoDB, React, Bootstrap 5, IntelliJ, and GitHub.
17. Application Design (Meteor), Part 3
Learn how to build “Digits”, a multi-user, multi-role, interactive web application using Meteor, MongoDB, React, Bootstrap 5, IntelliJ, and GitHub.
18. Agile Project Management
Agile process models, team coordination, planning, and issue management.
19. Deployment
Deployment, scalability, testing, documentation.
20. Testing
Designing and implementing simple acceptance tests using TestCafe.
21. Ethics in Software Engineering
Ethics: A group of moral principles or values that define or direct us to the right choice.
22. Design Patterns
Learn what design patterns are in general, as well as specific examples from your work in this class.
23. Final Project
Demonstrate your ability to integrate all of the material in this course.