Programming and Web Development Courses

Freshman Year

Shop

The freshman shop program is an introduction to computer science, programming fundamentals, and web development. The programming concepts will be taught using the Python programming language. Students will be trained in developing both business and game development applications, as well as the design and testing of these applications. Students will learn basic programming concepts including identifying and using data types, implementing control structures, and the creation of procedures. Web development will be introduced using HTML5 and CSS3. It will focus on implementing basic HTML structures, formatting elements using CSS, and page layout techniques. Students will be introduced to humanoid robotics using the NAO robot platforms and various wheel-based platforms, incorporating microcontrollers and various sensors.  

Sophomore Year

Shop

The sophomore shop program aligns with the national AP Computer Science Principals course, where students have the opportunity to register for and complete the exam in May of their sophomore year. The course covers the exploration of the computer science field, creativity, abstraction, data and information, algorithms, the internet, the global impact of computer science, computational thinking practices, and Python fundamentals that are in line with a first-year college programming course.  Students will also build on the basic web concepts from freshman year covering current web development and design practices, complex page layouts, dynamic menus, and incorporating interactive web elements into their design using JavaScript.  Students will also advance their knowledge in programmable robotics through embedded systems using microcontrollers and the Raspberry Pi.

Junior Year

Shop

The junior shop program aligns with the national AP Computer Science A course, where students have the opportunity to register for and complete the exam in May of their junior year.  The curriculum is taught through the Java programming language and focuses on fundamental algorithms and data structures involving control structures, one and two-dimensional arrays, lists, object-oriented programming, inheritance, abstract classes, interfaces, and recursion. Students will be introduced to the MVC pattern using Ruby on Rails to create their own custom content management system. Students will learn to work with the Active Record pattern and object relational mapping to implement 1 to 1, 1 to many, many to many, and polymorphic associations. Projects will consist of common functionality requirements for small to medium sized business websites.

Senior Year

Shop

The senior shop program will be a continuation of junior year, with a focus on back-end web development, server and client-side JavaScript, advanced data structures, and design patterns.  Students will build scalable web applications with authentication and authorization systems involving roles and permissions, contribute to the ongoing development of the school website, and will explore JavaScript web stack options.  Students will learn to work with trees, heaps, and hash tables and have a foundational understanding of creational, structural, and behavioral design patterns.  Students will understand the importance of algorithm analysis and learn techniques for analyzing time complexity (Big O notation).  Students will also have the opportunity to work on customer-based projects for various nonprofit organizations and shop capstone projects of their choice.