The Raptor cohort is the 2016S03 (that is the 3rd semester of GreenFoxAcademy (GFA) 2016 academic year) starting October 17th 2016 and ending, February 24th 2017. The technical stack for this cohort covers:-
- HTML
- CSS
- Java (JSP, Spring)
The mentors are Aze, Misi & Eric.
- Trello - site to track project tasks
- Slack - to communicate ideas on channels
- Github - GreenFox - overall tracking of our course
- Github - Zerda - Raptors
- Calendar - HTML ICAL
- Styleguide - what is this vis-a-vis students
- Common review mistakes
The course consists of 3 distinct phases:-
- Basics - introducing the foundations of software development and studying HTML and CSS
- Java - learning the core concepts in programming (that can translate to other languages), and then expanding deeper into the facilities and opportunities afforded in the Java environment.
- Practical Application - applying the knowledge and skills learnt to a full deliverable.
What are the core elements of how software and computers operate and communicate to deliver and capture information.
- Introduction
- Team building
- Command-line, GIT
- HTML, CSS
- Practice - "Create CV using HTML and CSS"
Expand on the HTML, to deliver a more complex experience.
- Layout
- Forms
- Advanced CSS
- Build a complex webpage (like Wikipedia article)
- HTML, CSS
- Basic Sitebuilding
- Understanding the internet
- Become familiar with the typical components of a programming language; setting the foundation for further learning. *
- Turing machine, anatomy of programming; interpreters, compilers
- The components of the Java world - IDE & program, compile to byte code, linking, running in the JVM
- Variables, Data Types
- Arrays - multi-dimensional, jagged
- Expressions
- Control Flow - loops (while, do-while, for), statements (if, if-then, if-then-else, elseif), intro to code blocks
- Strings & StringBuilder
- Simple I/O - the Scanner class (reading from the prompt (System.in), writing to the prompt (System.out))
- Collections - ArrayList, LinkedList
- Functions - parameters, return values, signatures/overloading; main args[], variable scoping
- Mop up/Revisit - Iterators, foreach, data conversion (Autoboxing, unboxing, casting)
- Math Libraries, floor, ceiling, conversion
Understanding how to model the world using Objects; and becoming familiar with the tools and advantages of such.
- What is OO
- The benefits of OO - theory behind OO, covering encapsulation, data hiding, polymorphism, inheritance
- Intentions/Classes - what is a class and how are they derived, their anatomy (methods, properties, scope); creator; this
- Extensions/Objects - how are they created and used
- Extending OO - sub-classes, super, polymorphism, abstract and interface, boxing/unboxing
- Static, Final, Protected & Private
- Mop up/Revisit - data conversion, Streams, I/O, Scanner in context
- Date
- Localisation - decimal point, mm/dd/yy vs dd/mm/yy vs ...
Having covered the core concepts at the heart of Java, solidify with practice dojos and gain experience; at the same time, start to understand how to deliver code by testing and handling issues.
- Exceptions
- Testing (TDD basics) - Karnaugh / Key maps, Assert
- Annotations
- Libraries and Dependency management (Maven, Gradle)
- Project "Todo App" - exercise working through many of the elements learnt thus far
- Developing and supporting larger applications demands management and commonly understood tools and approaches.*
- Overview of Swing and GUI controls
- Listeners / Events
- Tiered architectures - benefits and anatomy
- Patterns & Frameworks - conceptual
- MVC (pattern) and Architecture
- Project/Workshop: RPG using MVC
- Practical: Mapping objects
- Basics of Programming
- Fundamentals of Java
Continuing on from the previous Module, we look at a Framework. We also tie together how Java can be used to serve pages and integrate with HTML.
- Java foundation classes
- Servlets
- Java Server Pages (JSP) - java web basics with templates, integrating with HTML
- Templating (view part; how to display data, HTML generation)
- Mop up/Revisit - Annotations, Collections, Iterators
- Project/Workshop: Building a Gallery site using JSP
How to store and work with data.
- File I/O - char and binary streams
- Connecting to a database - JDBC (querying, resetting, mechanics)
- SQL Basics - DDL vs DML; select, delete, update statements;
- Alternatives NoSQL, MongoDB
- Object Repository (ORM) - Hibernate framework
- More SQL - keys, normalization; Stored Procedures & Triggers
- Project/Workshop: Convert Gallery to run using JDBC
Delve into the Spring Framework to better understand how Java can be used to serve pages while strengthening the understand of JDBC, MVC, annotation, etc.
- Serialization & marshalling
- xml parsing and xmlpath
- json
- Web container
- MVC
- Generics
- Aspect-Oriented Programming (AOP)
- Java as backend
- Understanding Frameworks
- Persistence
Working in teams, deliver specific projects based upon requirements that will be posted later in the semester.
- Work and find solutions for problems on your own
- Combination of learnt skills