Modules Topics covered in this class

For any module not marked as “Coming Soon”, click on it to go to a page containing details.

ICS 314 PreGame

1. ICS 314 PreGame

A few things you can work on to get a head start in ICS 314.

Introduction

2. Introduction

Overview of ICS 314, and some simple initial tasks to get oriented and ready for the course.

Professional Persona

3. Professional Persona

Concepts of a professional persona and initial steps to build and improve your online professional presence.

Typescript 1: Basics

4. Typescript 1: Basics

Basic Typescript coding: variables, expressions, conditionals, loops, functions, arrays, objects.

Open Source Software

5. Open Source Software

How to participate effectively in open source software development.

Typescript 2: Object orientation

6. Typescript 2: Object orientation

Object orientation in modern Typescript: using the class construct.

Configuration management

7. Configuration management

Concepts of configuration management and version control, and how they are implemented using git and GitHub.

Typescript 3: Functional programming

8. Typescript 3: Functional programming

Use the Typescript Array functional programming constructs: map, reduce, filter, forEach, some, etc.

Development Environments

9. Development Environments

Introduction to Integrated Development Environments and the VSCode IDE.

QA Part 1: Coding standards

10. QA Part 1: Coding standards

Incorporate coding standards and ESLint into your use of Javascript, VSCode, and GitHub.

UI Design (Basics)

11. UI Design (Basics)

Learn to design basic web pages using HTML and CSS.

UI Design (Frameworks)

12. UI Design (Frameworks)

Bootstrap 5 is a CSS framework for building cross-browser, responsive user interfaces.

UI Design (React)

13. UI Design (React)

React provides a component-based UI framework in Javascript/Typescript.

Databases (PostgreSQL)

14. Databases (PostgreSQL)

Introduction to building PostgreSQL SQL databases.

Application Design (Nextjs), Part 1

15. Application Design (Nextjs), Part 1

Overview of the Nextjs web application framework.

Application Design (Nextjs), Part 2

16. Application Design (Nextjs), Part 2

Explore three simple templates for multi-user, multi-role, interactive web applications using Nextjs, PostgreSQL, React, Bootstrap 5, VSCode, and GitHub.

Application Design (Nextjs), Part 3

17. Application Design (Nextjs), Part 3

Learn how to build “Digits”, a multi-user, multi-role, interactive web application using Next.js, PostgreSQL, React, Bootstrap 5, VSCode, and GitHub.

Agile Project Management

18. Agile Project Management

Agile process models, team coordination, planning, and issue management.

Deployment

19. Deployment

Deployment, scalability, testing, documentation.

Testing

20. Testing

Designing and implementing simple acceptance tests using TestCafe.

Ethics in Software Engineering

21. Ethics in Software Engineering

Ethics: A group of moral principles or values that define or direct us to the right choice.

Design Patterns

22. Design Patterns

Learn what design patterns are in general, as well as specific examples from your work in this class.

Final Project

23. Final Project

Demonstrate your ability to integrate all the material in this course.

HACC

24. HACC

Participate in the Hawaii Annual Code Challenge