Welcome to the ICS 414 web site.
Cam Moore will teach Section 001 (Tu/Th 12:00pm-1:15pm) which meets online.
ICS 414 is a fast-paced immersion into significant software engineering concepts and technologies. This semester is going to be very intense. We’ll form six teams, each team will work on the project.
ICS 414 follows many of the themes of ICS 314 such as:
Software engineering concepts. Classical concepts include requirements, design, implementation, testing, configuration management, development environments, quality assurance, deployment, and project management.
Software engineering technologies. You will explore with a variety of technologies including: the IntelliJ Idea integrated development environment, the git configuration management system, the GitHub project hosting, the Semantic UI user interface framework, the Meteor web application framework, testing Javascript using fast-check and faker, and testing React with enzyme and sinon.
Requirements. You will explore project requirements including requirements elicitation, tracking, and acceptance.
Design. You will gain experience with a variety of design domains, including user interface design, application design, data design, security design, and requirements design.
Quality Assurance. The course presents quality assurance concepts from coding standards to testing to automated tools such as ESLint to software review. We will explore unit testing of our collections, integration testing of our Meteor methods, acceptance testing using testcafe and reviews.
Open source software engineering. You will learn some of the fundamental issues involved in successfully developing open source software, as well as the many professional benefits of developing open source software as a student.
The course grounds these thematic elements by covering the skills necessary to quickly build two-tier web applications with a modern look-and-feel. Many computer science and computer engineering projects benefit from a web-based user interface, and this class will help you to create a nice one regardless of your “design” background.
This course is intended for undergraduates in computer science or computer engineering who have taken ICS 314.
ICS 414 is structured as a sequential series of modules, most taking approximately a week to complete. Each module has the following structure: