| Section | 1 |
|---|---|
| Instructor(s) | Gerber, Adam (gerber) |
| Location | Online Only |
| Meeting Times | Thursday 5:30pm - 8:30pm |
| Fulfills | Elective Specialization - Application Development (APP-1) |
Full-stack Software Engineering focuses on integrating components throughout the entire stack of a typical cloud-based client-server architecture, including: Android, Quarkus, Docker, MongoDB, AWS-API-Gateway, AWS-Lambda, AWS-LightSail, AWS-Cognito, AWS-Amplify, and AWS-SES. Students will develop projects of progressive complexity using the tools and technologies introduced in the course. For their final project, students will develop an Android client in Kotlin with authentication, as well as the corresponding server-side components which they will then deploy to their own AWS instances. In addition, students will have the option to train and integrate a machine-learning model which uses TensorFlow and a convolutional neural network for image recognition. Students will acquire a good understanding of cloud computing, as well as the differences between serverful and serverless cloud applications. Students will also learn best practices in developing full-stack applications which is an essential skill for any engineer aspiring to be a software architect.
The programming languages used in Full-stack are Python and Kotlin. The first lecture will teach students how to program in Kotlin, which is a modern programming language that shares many characteristics with Python, including implicit typecasting. The fundamentals of Python will also be covered.
Core Programming
Non-MPCS students need to complete the Course Request Form here: https://forms.gle/7mrwg2u3Knn8ogHL7. This course requires competency in Unix and Linux. Please plan to attend the MPCS Unix Bootcamp (https://masters.cs.uchicago.edu/page/mpcs-unix-bootcamp) or take the online MPCS Unix Bootcamp Course on Canvas.
For MPCS students, this is an elective/specialization course and can only be taken after completion of three core classes or concurrent with third core class.
This class is scheduled at a time that conflicts with these other classes: