Title | Winter | Spring | Summer | Fall |
Java Programming |
Data Structures and Algorithms (2.50 Units)
I&C SCI X460.37
Gain a solid background in data structures and their associated algorithms. This course approaches data structures from an advanced viewpoint with a focus on basic principles of modern software engineering. It provides a good foundation for further study in object-oriented programming. Course topics are presented in a language-neutral fashion which may be adapted to any number of modern programming languages. Assignments will require use of pseudo-code to stress the design and architecture. You'll learn how to analyze large-scale problems and create solutions by identifying the data structures and relevant algorithms, evaluate efficiency tradeoffs in competing designs, and modularize programs by encapsulating data structures with their accompanying algorithms. Prerequisites: Knowledge of computers and some programming experience is helpful but not required.
|
|
to be scheduled
|
|
|
Cloud Computing Platform as a Service (PaaS) (1.50 Units)
I&C SCI X460.53
The primary objective of this course is to provide the techniques and practices of cloud computing. Cloud computing refers to a set of services that provide companies and application developers with the means to scale their application's resource usage through the Internet on demand. This course will concentrate on building applications on Google App Engine and Microsoft Windows Azure. This course will also teach the students the knowledge of designing and implementing cloud-based software system. In addition, this course will explore the current challenges facing cloud computing. Prerequisites: Experience building web based applications.
|
|
|
|
|
Fundamentals of Agile (3.00 Units)
I&C SCI X494.94
This course covers the major concepts, tools, techniques, and applications of Agile Project Management. Beginning with the values and principles that support agile theories, a number of key Agile frameworks and approaches, including Scrum and Extreme Programming, will be explored. Through examples and discussion, the course will elaborate on Agile Scaling approaches such as Scaled Agile Framework (SAFe), Scrum@Scale, and Nexus. The course will then take a deeper look into how organizations can incorporate Agile Planning and Team Dynamics to effectively manage a project in an agile environment. The course will wrap-up with a survey of commonly-used Agile tools and industry-recognized certifications.
|
to be scheduled
|
|
|
|
Angular (1.50 Units)
I&C SCI x460.72
Angular is an open-source JavaScript framework sponsored and maintained by Google, which empowers developers to quickly build modern UI applications that live on the web, mobile, or the desktop. Angular makes it easy to develop complex web applications using powerful designs and best practices in web development. In this class you will learn how to use Angular to build extendable, maintainable, testable and standardized web components and robust web applications. In addition, you will learn how to apply best practices for the most flexibility, reusability and easy development on all portable devices.
|
|
|
|
|
Spring Framework (2.50 Units)
I&C SCI X460.69
This course enables the Java developer to use the Spring Application Framework to create multi-tier Web applications. Spring is a light-weight framework that aims to simplify development of enterprise solutions. Its support for Inversion of Control (IoC) promotes loose coupling of dependent objects. It also has rich support for aspect-oriented programming (AOP). We will use the framework to build a working enterprise strength application including business, web and data access tier. We will focus on the Core and MVC modules, with a lighter touch on persistence through DAO and ORM modules.
|
|
|
|
|
Continuous Delivery with Java Microservices (1.00 Unit)
I&C SCI X460.71
To remain competitive, organizations must reduce the time between feature concept and feature in production from many months to days (or less). The microservices architecture has become popular because it enables rapid delivery of features into production. This course will teach the principles of a microservice architecture as a means to deliver important business features more quickly into production. This combines the learning of important architectural principals in developing distributed systems with hands-on development to apply those principles in code and to deploy them to a cloud environment. While microservices are technology-agnostic, you will gain hands-on experience developing microservices in this course leveraging some of the Java technologies (like JAX-RS) that are available in the Java Certificate Program, along with microservice frameworks developed within Eclipse MicroProfile. Last, throughout the course you will deploy microservices in a true “devops” manner, with a continuous delivery environment that allows microservices deployment patterns like “canary deployments” and “blue/green” deployments along with A/B testing running in Docker containers in a Kubernetes environment. The goal of this course is to build a first-hand understanding of microservices development along with how they should be deployed in a cloud environment because both go hand-in-hand to achieve a high development velocity. Students can then bring this knowledge back to their own organizations to begin the transformation from traditional monolithic development to microservices to rapidly decrease the time it takes to deliver new features into production. Prerequisites: Strong knowledge of the Java programming language and some experience developing “monolithic” applications is required. It is also highly recommended, although not required, that students take I&C SCI X460.67 Web Development using Java EE 7 or I&C SCI X460.69 Spring Framework to gain a solid foundation for som
|
|
|
|
|
Spring Boot Microservices (1.50 Units)
I&C SCI X460.46
Microservices and Docker containers became indispensable part of many organizations and their popularity is on constant rise. In today’s world, companies are either developing or considering how to develop microservice applications. Spring Boot and Spring Cloud minimize the amount of work you need to build and deploy production ready Java microservices. This course will explore the microservices architectural style and use different modules of Spring Cloud project and learning how to combine them to create scalable and secure microservice applications. We will secure our microservices with OAuth2 and learn how to pass JWT tokens between our microservices. During the course students will utilize Spring Cloud configuration server, Spring Eureka service, Netflix Hystrix, Netflix Zull, OAuth2, JWT and other Spring Cloud libraries. The course will also cover how to create immutable Docker images of our microservices and explore how to deploy images in private or public cloud (AWS). Required prerequisite: I&C SCI X460.10 Java Programming I
|
|
|
|
|