Topic outline

  • Ultra-Modern Software Development

    Writing code adds bugs. Removing code adds bugs. Fixing bugs adds bugs. Doing nothing adds bugs. Such is life.

    IntelliJLogo        gg  jb  NodejsLogo  FlooBits  LightHouseLogo  HerokuLogo  | The tools for happy development.


    Software Programming is an Advanced Placement-level course that breaks the content into two semesters. First semester’s main goals are to introduce the student to the tooling / culture of software development and teach universal programming concepts, while enforcing good style and logical thinking along the way. Designed for students with little or no programming language experience, it begins with general programming concepts and key concepts of structure. Coverage then progresses to the details of decision-making, looping, array manipulation, and methods. Additional topics discuss control break programs, advanced array manipulation techniques, and file handling. After the student has mastered programming fundamentals, the intricacies of object-oriented programming are introduced. Second semester teaches the student about the following web technologies: HTML5, CSS3, JavaScript, Node.js, and progressive web applications. Students should expect six to eight hours of homework each week. Three (3) NCMC credits are offered for successful completion of the articulation agreement. The course also prepares students to pass the AP Computer Science A exam, which equates to three (3) college credits from the College Board. Class also counts as a senior math credit.
    CREDIT: 0.5 per semester
    TYPE: Advanced Placement
    OTHER REQUIREMENTS: Permission of the instructor required. Self-discipline is key to being successful in this course.
    WEEKLY EXPECTATIONS:  This is an active learning-model course which means that most of the instructional content will be consumed outside the classroom. In-class activities include:  Plickers, group programming exercises, getting help from the instructor/facilitator, and example code demonstrations.



    • Learning to Learn - 4 hours
    • Learning to Computer - 6 hours
    • Learning your Tools - 2 hours
    • Learning Git/Github - 4 hours


    • HTML5 - 20-30 hours
    • CSS3 - 30-40 hours
    • JavaScript (ES6) - 60-80 hours
    • Sass/Scss - 4 hours
    • CSS Templating - 2 hours
    • HTML/Javascript Templating (EJS) - 3 hours
    • Heroku - 2 hours


    • Node.js - 12-20 hours


    • Progressive Web Apps - 4 hours
    • Databases - 8 hours
    • Firebase - 2 hours

    1. Progressive Web Applications - Front End: 01

      Front-End Developer Handbook 2018  ||  MDN  ||  Front-End Checklist

      --  Ha Ha  --

      •  HTML5/CSS3 - DOM Element Positioning Lesson
        Not completed: HTML5/CSS3 - DOM Element Positioning
        Restricted Not available unless: The activity CSS3 - Basics is complete and passed
      •  HTML5/CSS3 - Responsive Design Lesson
        Not completed: HTML5/CSS3 - Responsive Design
        Restricted Not available unless: The activity HTML5/CSS3 - DOM Element Positioning is complete and passed
      •  Project 1 Assignment
        Restricted Not available unless: The activity HTML5/CSS3 - Responsive Design is complete and passed
      •  Project 2 Assignment
        Restricted Not available unless: The activity HTML5/CSS3 - Responsive Design is complete and passed