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:
· Computers and components (accessing clocks, caches, registers, types of memory)
· Numbering systems and computer math
· Object-oriented programming principles
· Java fundamentals (types, variables, branching, loops)for command-line scripting
· Comments and documentation practices
· Data Structures (ArrayLists, linked lists, stacks, queues, HashMaps)
· Classes and Objects
· Testing fundamentals (unit and integration testing) and test-driven development with Junit
· Persistent data, external libraries, and advanced data connections in Java
· Application developmentin JSP/Spring
· Backend development with Spring Boot and REST service APIs
· Authentication, authorization, and data security basics
· Interfaces and interface design tools (brief crash course in UI/UX)
· Using cloud services and application deploymentin the cloud (if available atlocal training provider)
· Version control and software development collaboration practices
· Introduction to Agile development(Scrum and Kanban, comparison to Waterfall methods), with projects
expected to model Agile practices
· Basic introduction to design patterns and software lifecycle management