Java & Cloud Computing with AWS

Course Description

This course teaches Java and Cloud Computing with AWS and Springboot. Students learn about programming, building applications, and managing databases, and gain practical experience through hands-on exercises and projects. The course also includes career preparation such as resume and interview skills.

Course Goals
  • Object-oriented programming in Java
  • Test-driven development using JUnit
  • Building scalable applications with Springboot and microservices
  • Managing databases and files with AWS RDS and S3
  • Serverless computing with AWS Lambda
  • Continuous integration/deployment (CI/CD) pipeline with AWS CodePipeline and CodeDeploy
  • Practical experience in software development through hands-on programming exercises and projects
  • Career preparation such as resume and interview skills to help students take their careers to the next level.


Week
1
( 18 Hours )
Introduction to Java and Basic Programming Concepts
  • Introduction to Java and Object-Oriented Programming (OOP)
  • Setting up the Java environment on your computer
  • Basic programming concepts such as variables, data types, and control structures
  • Hands-on programming exercises in Java
  • Quiz to assess learning outcomes
Week
2
( 18 Hours )
Advanced Java Concepts and Data Structures
  • Advanced Java concepts such as exceptions, generics, and collections
  • Introduction to common data structures such as arrays, linked lists, stacks, queues, and trees
  • Algorithms for searching and sorting data
  • Hands-on programming exercises using data structures and algorithms
  • Quiz to assess learning outcomes
Week
3
( 18 Hours )
Test-Driven Development with JUnit
  • Introduction to Test-Driven Development (TDD) and its benefits
  • Setting up the JUnit framework for unit testing in Java
  • Test-driven development process, including writing test cases before code
  • Hands-on programming exercises using TDD and JUnit
  • Quiz to assess learning outcomes
Week
4
( 18 Hours )
Building Scalable Applications with Springboot and Microservices
  • Introduction to Springboot and its uses in building scalable and resilient applications
  • Understanding Microservices architecture and its benefits
  • Hands-on programming exercises in building microservices using Springboot
  • Quiz to assess learning outcomes
Week
5
( 18 Hours )
Building RESTful APIs with Springboot
  • Building RESTful APIs using Springboot
  • Hands-on programming exercises in building and testing RESTful APIs
  • Quiz to assess learning outcomes
Week
6
( 18 Hours )
Database Management with AWS RDS
  • Introduction to Database Management Systems (DBMS) and their importance in software development
  • Overview of AWS Relational Database Service (RDS)
  • Setting up and configuring a database using RDS
  • Hands-on programming exercises using RDS to store and manage application data
  • Quiz to assess learning outcomes
Week
7
( 18 Hours )
File Management with AWS S3
  • Introduction to file management and storage in software development
  • Overview of AWS Simple Storage Service (S3)
  • Setting up and configuring S3 to store and manage application files
  • Hands-on programming exercises using S3 to manage application files
  • Quiz to assess learning outcomes

Week
8
( 18 Hours )
Serverless Computing with AWS Lambda
  • Introduction to serverless computing and its benefits in software development
  • Overview of AWS Lambda and its uses in building serverless applications
  • Setting up and configuring Lambda functions
  • Hands-on programming exercises using Lambda to build serverless applications
  • Quiz to assess learning outcomes
Week
9
( 18 Hours )
Continuous Integration/Deployment (CI/CD) Pipeline with AWS CodePipeline and CodeDeploy
  • Introduction to DevOps and its importance in modern software development
  • Overview of Continuous Integration/Deployment (CI/CD) pipeline
  • Setting up and configuring CI/CD pipeline using AWS tools such as CodePipeline and CodeDeploy
  • Hands-on programming exercises in building and deploying applications using CI/CD pipeline
  • Quiz to assess learning outcomes
Week
10
( 18 Hours )
Career Preparation and Final Project Proposal
  • Building a professional portfolio and resume for software development
  • Preparing for technical interviews by reviewing data structures, algorithms, and programming concepts
  • Overview of career advancement opportunities in software development
  • Final project proposal
  • Quiz to assess learning outcomes
Week
11
( 18 Hours )
Review and Advanced Topics
  • Review of previous weeks' topics and hands-on programming exercises
  • Introduction to new topics based on the needs and interests of the students
  • Hands-on programming exercises in the new topics
  • Quiz to assess learning outcomes
Week
12
( 18 Hours )
Review and Advanced Topics
  • Review of previous weeks' topics and hands-on programming exercises
  • Introduction to new topics based on the needs and interests of the students
  • Hands-on programming exercises in the new topics
  • Quiz to assess learning outcomes
Week
13
( 18 Hours )
Review and Advanced Topics
  • Review of previous weeks' topics and hands-on programming exercises
  • Introduction to new topics based on the needs and interests of the students
  • Hands-on programming exercises in the new topics
  • Quiz to assess learning outcomes
Week
13
( 18 Hours )
Review and Advanced Topics
  • Review of previous weeks' topics and hands-on programming exercises
  • Introduction to new topics based on the needs and interests of the students
  • Hands-on programming exercises in the new topics
  • Quiz to assess learning outcomes
Week
15
( 18 Hours )
Review and Final Project Development
  • Review of previous weeks' topics and hands-on programming exercises
  • Final project development and presentation preparation
  • Hands-on programming exercises in the new topics
  • Quiz to assess learning outcomes
Week
16
( 18 Hours )
Review and Final Project Development
  • Review of previous weeks' topics and hands-on programming exercises
  • Final project development and presentation preparation
  • Hands-on programming exercises in the new topics
  • Quiz to assess learning outcomes
Week
17
( 18 Hours )
Review and Career Preparation
  • Review of previous weeks' topics and hands-on programming exercises
  • Career preparation, including LinkedIn and resume preparation
  • Hands-on programming exercises in the new topics
  • Quiz to assess learning outcomes
Week
18
( 18 Hours )
Final Project Development and Presentation Preparation
  • Final project development and presentation preparation
  • Career preparation, including mock interviews and job search strategies
  • Quiz to assess learning outcomes
Week
19
( 18 Hours )
Final Project Presentation and Career Preparation
  • Final project presentation and demonstration
  • Career preparation, including job search strategies and networking tips
  • Quiz to assess learning outcomes
Week
20
( 18 Hours )
Course Wrap-Up and Assessment
  • Course wrap-up and review of key concepts and skills learned
  • Final exam or assessment to measure learning outcomes
  • Feedback and evaluation of the course by the students