Java & Cloud Computing
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