Giter Club home page Giter Club logo

syllabus-java022815's Introduction

Syllabus-Java022815

The detailed syllabus for the Java bootcamp launching Feb. 28th, 2015


##Overview:

Class description: According to the STLCC Workforce development group, the most sought-after specific skills among St. Louis tech jobs in 2014 were SQL, Oracle resources, and Java programming. Developers in the Java environment are the backbone of large corporations in St. Louis, and demand has never been higher for entry-level programmers.

Skills learned: Our 12-week course in Java will cover the basics of developing in industry-standard environments.


##Schedule:

Daily schedule: All daily assignments are to be completed before class starts. Classes will begin with a quick Q&A over the previous daily assignment and current weekly project. Claim can be used as a workspace any time between 8am and 6pm Monday-Friday for those looking to work on projects or assignements beforehand.

Weekly schedule: classes will be held every Monday through Friday evening from 6pm-9pm, and every Saturday from 8am-5pm, unless otherwise changed by an instructor beforehand. Saturdays will focus on a weekly project workshop, with a more free-form, lab environment until projects are completed.

Holidays and days off: The aforementioned schedule will continue uninterrupted until May 23rd, with the exception of Easter weekend (Good Friday, Saturday, and Easter Sunday). Because of Easter, we will not have class on April 5th, 4th, and 3rd.


##Learning Objectives:

###Knowledge:

  • understand the purpose of classes and methods in object-oriented programming
  • understand usage and principles of Object-Oriented Programming
  • understand distinctions between primitive data types
  • understand the purpose of arrays and their uses
  • understand inheritance and polymorphism
  • understand version control
  • understand when and why exception handling should be used
  • understand Entity Relationships
  • understand how a database stores information
  • understand the relationships between a database, the Java application, the web server, and the client browser
  • understand how web applications are deployed using Java tools
  • understand the MVC framework
  • understand the current landscape of third-party tools and frameworks for Java applications
  • understand unit and regression testing
  • understand how to collaborate with others in a development environment

###Skills:

  • use appropriate control flow techniques
  • choose appropriate data types for variables
  • use high-level principles to encapsulate code in classes and methods
  • manage projects through version control in git and GitHub
  • create and read Entity Relationship Diagrams
  • query SQL database
  • create web services using SOAP and RESTful techniques.
  • use Eclipse IDE
  • use basic HTML and CSS
  • translate English instructions into Java code
  • build off of large, pre-written codebases
  • debug basic and intermediate issues in Java web applications
  • test using JUnit
  • build and deploy web applications using Spring, Hibernate, and Maven
  • add authentication features to existing applications

##Weekly Schedule:

###Week 1: Intro to programming with Java

  • setting up Eclipse IDE
  • version control with git and GitHub
  • variables and primitives
  • control statements
  • arrays
  • methods
  • basic I/O
  • intro to Object-Oriented Programming principles

Project: Work through https://projecteuler.net/archives problems, including the Poker Hands problem set in preparation for weeks 3-10.


###Week 2: Intermediate Java Principles

  • classes and objects
  • inheritance
  • overloading and overriding
  • review of Object-Oriented Principles

Project: Make sure that you have a robust and working solution to the Poker Hands problem from Projet 1, and be prepared to present your solutions on Saturday.


###Week 3: Advanced Java Principles and Intro to testing

  • polymorphism
  • exception handling
  • files and streams
  • manipulating collections
  • basics of unit testing

Project: Create a text-based poker application based off of the Poker Hands problem from the first Weekly Project, and create a test suite to test user stories.


###Week 4: Basics of Web Development

  • HTML
  • CSS, MVC Pattern
  • UML
  • Introduction to Servlets
  • Servlets Examples

Project: Create a website to host online card games (including the poker game from Weeks 1 and 3) from HTML and CSS templates provided.


###Week 5: Web Development and Introduction to Spring

  • Intro to XML,Intro to JSP
  • Intro to Struts and binding
  • Maven, Spring configuration
  • Intro to Spring framework
  • Configuration, DI, bean factories, auto-wiring

Project: Deploy poker application from Week 4 using Spring framework.


###Week 6: Spring and Hibernate

  • Creating applications using SPRING
  • Introduction to Hibernate
  • Building web applications with Hibernate & HQL
  • Mappings and Transaction Management

Project: Add basic Hibernate-based object-relational mapping to the poker application from week 4. Use this mapping to expand the functionality of the poker application, including saving game states and high scores while an application is running.


###Week 7: Database Modeling and Setup

  • entities, instances, attributes, and identifiers
  • identifying relationships
  • creating ERD diagrams
  • setting up MySQL
  • connecting to a database
  • SELECT statements

Project: Add basic SQL database functionality to the card game application from week 6 for persistant saving of game states and user high scores. Begin to add username and login functionality to the application.


###Week 8: SQL querying

  • the WHERE clause
  • INSERT, UPDATE, DELETE clauses
  • database joins

Project: Add store functionality to card game application from week 6. Use a database to store user account information, including transactions, games bought, high scores, and some basic stats for each game.


###Week 9: Web Services and Security

  • Web Services
  • Design Patterns
  • Java logging API and log4J framework
  • Security features
  • Exercise implementing security, logging

Project: Add single sign-on login page to card games website, security for shopping cart, and card transactions.


###Week 10: Review and Soft Skills Workshops

  • review work through first 10 weeks
  • Agile development in a team environment
  • Scrum methodology
  • Presentation skills
  • interview and resume prep
  • working with a team
  • begin final project

Project: Agile Workshop and Mock Interviews


###Week 11 & 12: Final Project

Project: each student chooses an individual project from a real-world business case, develops database-backed web application to solve issues presented in case


syllabus-java022815's People

Contributors

nalexpear avatar mrp80 avatar santoshst avatar

Watchers

Siddique Hameed avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.