Skip to content

codefellows/seattle-java-401d5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code 401: Advanced Software Development in Java with SpringMVC and AWS

Schedule Overview

First two weeks: Java as a language, OOP, writing/running/testing Java code

Next two weeks: Java for writing servers, SpringMVC

Midterm project: full-stack Java app with login/auth

Second half of the course: all AWS (with a mix of Java and other languages)

Final project: connecting AWS services

Career coaching workshops are August 23, September 27, and October 4.

Schedule example

Time Monday Tuesday Wednesday Thursday Friday
9am-1pm Lab 1, journal 1 Lab 2, journal 2 Lab 3, journal 3 Lab 4, journal 4
1pm-2pm Lunch Lunch Lunch Lunch Lunch
2pm-5pm Lecture 1 Lecture 2 Lecture 3 Lecture 4 Lecture 5
5pm-6pm DS&A 1 DS&A 2 DS&A 3 DS&A 4 DS&A 5
after 6pm Finish DS&A, read through Lab 1, readings for Lecture 2 Finish DS&A, read through Lab 2, readings for Lecture 3 Finish DS&A, read through Lab 3, readings for Lecture 4 Finish DS&A, read through Lab 4, readings for Lecture 5 Finish DS&A over weekend, readings for lecture 6

Assignments, Deadlines, Late Work, and other fun things

There are several types of assignments that are required for this course, and they have different policies on late work.

Complete/incomplete

  • Readings: All readings are visible at the beginning of the course. Each reading is due by the start of the lecture that covers that reading, and locks (no late submissions) at midnight on that day.
  • Daily Journals: Each daily journal is unlocked for 24 hours total.
  • Career Coaching: Career coaching assignments do not lock, but are used during career coaching workshops; ensure you have completed the assignments by the start of the workshop.
  • Pre-work: You should have already finished this; if not, you should reach out to your instructor, and finish any remaining items ASAP.

Graded out of points

  • Code Challenges: Each code challenge is released at 5pm, to be worked on that night. The code challenge is due the next day by the start of lecture. You may resubmit code challenges for up to 10 days after the assignment is due; code challenges lock after 10 days.
  • Labs: Each lab is released at 5pm, and should be worked on the next day during lab time. The lab is due by the start of the following lecture. You may resubmit labs for up to 10 days after the assignment is due; labs lock after 10 days.

Topics

Concepts

  • Java Fundamentals
    • Native Primitive Data-types
    • Strings
    • Arrays
  • Java Collections library
    • Lists
    • Maps
    • Sets
    • Stacks and Queues
  • Exception Handling
  • Unit Tests
  • Test Driven Design
  • OOP Principles
  • Concurrency
  • Recursion
  • MVC
  • Identity and Authentication
  • Security and Performance
  • Web APIs
  • Design Patterns
  • Application Deployment

Data Structures and Algorithms

  • Array Lists
  • Linked Lists
  • Stacks/Queues
  • Trees
  • Binary Search Trees
  • Heaps
  • Hash Tables
  • Sets
  • Graphs
  • Sorting Algorithms
  • Daily Whiteboard Interview Practice

Languages and Frameworks

  • Java
  • SpringMVC

Collaboration

  • Group Projects
  • Whiteboard Challenge Groups

Environment and Tools

  • Unix
  • Git
  • GitHub
  • IntelliJ IDE
  • Postgres
  • AWS

Career Coaching Curriculum

Three full days of Code 401 are dedicated to workshops and presentations that teach students the skills they'll need for their job search, such as personal branding techniques, effective networking practices, how to create an attractive resume, mastering personal and technical interviews, job search best practices, and more.

Additionally, during each Project Week, students present projects that will go into their professional portfolio. Learn More »

Learn with Stacked Modules

Concepts in each of our courses are taught using stacked modules, where a new concept is introduced in each class session, building upon what came before it. This is a challenging style that requires persistence, practice, and collaboration, but allows more concepts to be introduced over the length of the course. This method helps students learn and retain more information in a short period of time. Learn more about stacked modules »

Material Requirements

Students are required to bring their own laptop with plenty of free space on the hard drive. All students will be responsible for ensuring their computers contain the necessary tools to build and run the programs they write. These tools are available for any of MacOS/Windows/Linux, so students should use the operating system they are most comfortable with. By the first day of class, students will need:

Professionalism

Punctuality, participation in discussions, completion of assignments, and demonstration of professional behaviors with others are required, in accordance with our Code of Conduct. Attendance will be taken at the beginning of every class. Passing requires at least 90% attendance. Students should always contact the instructors ahead of time if they are unable to attend all or part of published class / lab hours.

Releases

No releases published

Packages

No packages published