Programming for Technology II

This course builds on fundamental programming and digital logic skills introduced in previous programming and digital electronics courses to help students gain the skills and confidence to tackle larger programming projects. Principles and tools of software engineering are introduced to manage the inherent complexity of software development, with an emphasis on reducing software defects during development. Students will be exposed to well written source code from textbooks and open source projects, as well as industry recognized coding standards. Students will also have many opportunities to practice coding and reviewing their own programs through a combination of in-class and homework assignments, and larger pair programming projects. Assignments and projects will be coded mostly in Python 3.x on workstation, laptop or Raspberry Pi microcontroller kit.