Introduction to Programming
The purpose of this course is to extend the basic principles of web markup languages into a specialized language required by the CRM/CMS platform (Java in this case). Note: this section may be substituted for an equivalent course in C#, Python, or another available primary language as desired by employers participating in the cohort.
Topics include:
1. Computers and components (accessing clocks, caches, registers, types of memory)
2. Numbering systems and computer math
3. Object-oriented programming principles
4. Java fundamentals (types, variables, branching, loops) for command-line scripting
5. Comments and documentation practices
6. Data Structures (ArrayLists, linked lists, stacks, queues, HashMaps)
7. Classes and Objects
8. Testing fundamentals (unit and integration testing) and test-driven development with Junit
9. Persistent data, external libraries, and advanced data connections in Java
10. Application development in JSP/Spring
11. Backend development with Spring Boot and REST service APIs
12. Authentication, authorization, and data security basics
13. Interfaces and interface design tools (brief crash course in UI/UX)
14. Using cloud services and application deployment in the cloud (if available at local training provider)
15. Version control and software development collaboration practices
16. Introduction to Agile development (Scrum and Kanban, comparison to Waterfall methods), with projects expected to model Agile practices
17. Basic introduction to design patterns and software lifecycle management