Modules Topics covered in this class

This page presents the “modules”, or the topics that are covered in this course.

Unless a module is listed as “Coming soon…”, you can click on it to go to a page providing more detail about it.

Introduction

1. Introduction

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

Professional Persona

2. Professional Persona

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

Javascript 1: Basics

3. Javascript 1: Basics

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

Open Source Software

4. Open Source Software

How to participate effectively in open source software development.

Javascript 2: Object orientation

5. Javascript 2: Object orientation

Object orientation in modern Javascript: using the class construct.

Configuration management

6. Configuration management

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

Javascript 3: Functional programming

7. Javascript 3: Functional programming

Use the underscore library to experience functional programming constructs: map, reduce, filter, every, some, etc.

Development Environments

8. Development Environments

Introduction to Integrated Development Environments and the IntelliJ IDEA IDE.

QA Part 1: Coding standards

9. QA Part 1: Coding standards

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

UI Design (Basics)

10. UI Design (Basics)

Learn to design basic web pages using HTML and CSS.

RadGrad

11. RadGrad

RadGrad: Developing awesome computer scientists, one graduate at a time.

UI Design (Frameworks)

12. UI Design (Frameworks)

Semantic UI 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.

Databases (MongoDB)

14. Databases (MongoDB)

Introduction to building MongoDB NoSQL databases.

Application Design (Meteor), Part 1

15. Application Design (Meteor), Part 1

Overview of the Meteor web application framework.

Application Design (Meteor), Part 2

16. Application Design (Meteor), Part 2

Explore three simple templates for multi-user, multi-role, interactive web applications using Meteor, MongoDB, React, Semantic UI, IntelliJ, and GitHub.

Application Design (Meteor), Part 3

17. Application Design (Meteor), Part 3

Learn how to build “Digits”, a multi-user, multi-role, interactive web application using Meteor, MongoDB, React, Semantic UI, IntelliJ, 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 of the material in this course.

HACC

24. HACC

Participate in the Hawaii Annual Code Challenge