Learn to write clean, crystal-clear, well-tested, advanced Java code using industry-standard software engineering patterns while building servers with SpringMVC and mobile apps with Android.
In this course, you will use IntelliJ IDEA and Android Studio to create Java applications. You will deploy the applications to a scalable cloud server platform, install your Android applications onto your phone, and have the apps communicate with AWS services like DynamoDB, Cognito, Pinpoint and Lambda using AWS Amplify.
The course focuses on fundamental computer science concepts such as object-oriented programming, advanced data structures and algorithms, Big O asymptotic analysis, and the structure of statically typed languages.
This course includes a career coaching curriculum to get you ready for your job search, plus job search assistance after graduation. The course totals 400 hours, including lectures, lab, coworking, and collaborative projects.
At the end of this course, you will be able to land an entry-level Java or Android Developer position by:
- Being able to take project ideas from conception all the way through full-stack execution and deployment using common frameworks and tools.
- Contributing to existing and ongoing projects using professional version-controlled workflows, working in tandem with your classmates on collaborative assignments.
- Building and contributing to server-side and client-side applications, each using an architecture/framework that promotes maintainability, scalability, and collaboration. These skills will be fully demonstrated during project week when your team develops its own prototype applications, adhering to industry best practices and patterns.
- Applying Computer Science fundamentals when analyzing the trade-offs between competing solutions when choosing algorithms; when choosing data structures; when deciding which cloud tools and services to use in building a complete application; and when making sure not to degrade the performance or functionality of cloud-based and mobile applications.
- Participating in a series of career development workshops and the web development knowledge, experience, habits, and practices learned in this course. You will create an online brand, network, and resume, and will demonstrate aptitude in personal and technical interviews of varying formats, in order to conduct a successful job search and obtain a job as a Java or Android developer.
- Code 301
- Students with previous experience can test out of this requirement in their application. If you'd like to test straight into this course, please make sure you have experience with all of the topics listed on the Code 201 and Code 301 course pages.
- All students are expected to complete the prework for this course before the first day of class.