Introduction to Software Engineering

This course is designed for someone who has a basic to no understanding of coding. The course intends to provide flavours of little bit of everything. There are also links to leetcode problems that you should solve. Leetcode problems are selected in a way to provide you familiarity with different data structures and algorithms.

Week 1 – Basic Java

Why Java? Because Java is an easy Object Oriented Programming (OOP) language that is used in many companies across the globe.

Study Resources

The following link consists of three slides. These slides introduce the reader to Java and fundamental datatypes. Once you complete it, please make sure that you attempt the problem statements in the lab given below.

Lab

The questions here have to be solved on leetcode. Leetcode is the platform commonly used to improve the data structure and algorithm skills. The intention behind these problems is to solve

Problem 1

Problem 2

Problem 3

Week 2 – GIT

Git is a version control system. Heard of Linus Torvalds? He is the main developer for Linux. (notice the similarity of the name, Linus and Linux). Linus developed Git to help him in the development of Linux. Git has become so popular that it has become synonym for Version Control System or VCS in short.

Study Resources

Git for beginner

Git tutorial

Lab

  1. Create a github account

2. Push a sample text file in a repository created in your github account

Why github? What is github?

Github is one of the largest websites in terms of the hosted softwares. It allows users to host their code using git.

3. Problem 1

Week 3 – Java CRUD operation

Lab

Install Intellij

Resource

Hello World

Resource

Make a console-based application that support CRUD (Create, Read, Update, Delete) operations for the e-commerce domain.

The application should be able to support the following features:

  • Any user should be able to sign up, log in and log out.
  • Logged-in users should be able to browse products.
  • Logged-in user should have a shopping cart where the user should be able to add multiple products.
  • User should have the ability to checkout and total payable should be displayed while checkout.
  • User should have the following attributes: name, user id, address, date of birth.
  • The product should have the following attributes: name, product id, description, and price.
  • User and Product information should be persisted in-memory.
  • The console should have an option for all the operation mentioned above.
  • Push it to your git repository on github.

Week 4: SQL

Now, that you know about programming. It’s time you know database a bit. SQL or Structured Query Language was initially developed by IBM. It is used to program and manage data in RDBMS.

Study Resources

SQL tutorial

Lab

Install MySQL

Make a database for school management system.

Problem statement

Week 5: REST APIs

Resources

What is REST API?

Best Practices

What is maven?

Lab

Learn Maven

Create your first REST API

Push code in your github repo.

Problem statement

Week 6: Form Submission

Study Resources

HTML Form

Lab

Modify the project done in week 5 and complete the tutorial given here.

Push the new code to the existing repository.

Problem

Week 7 : JPA

Study Resources

What is JPA?

Lab

Modify the project done in week 5 and complete the tutorial given here.

Push the new code to the existing repository.

Problem

Week 8: AWS

You have completed a web application on your local computer. Its time to deploy this on cloud. AWS allows you to use some of the AWS services for free. We will use that.

Lab

Deploy the project of week 5 on AWS

Problem

Week 9: Load Balancer

Resources

What is nginx?

Lab

Use nginx in front of the application deployed in Lab 8 on AWS.

Problem


If you are stuck anywhere, feel free to comment.

If you liked this article and would like one such blog to land in your inbox every week, consider subscribing to our newsletter: https://skillcaptain.substack.com

Leave a Reply

Up ↑

%d bloggers like this: