Computer Programming
Class Overview
Programming is becoming valued as one of the most employable and critical skills in a 21st century world that is increasingly reliant on technology. The biggest misconception about computer programming is that it is some sort of enigma, difficult to learn. In reality, everyone from children to adults can learn how to code, and there are programming languages written for all age, skill, and aptitude levels. In this class, we will cover both programming logic essentials, as well as experiment with several hands-on projects that will introduce students to different web and app development skills.
This course is in trial stage and the syllabus and content can vary from year to year.
NorthSouth offered HTML programming the first year. In the second year, Python Programming was the focus. The course content and focus is subject to change from year to year.
Volunteers
Currently we only have a small number of coaches. We need your help to develop this program. We would love for software experts to help standardize and scale the course offering.
Course Offerings
Python Programming
Syllabus:
- Environment Setup
- Python Basics
- Variables, Objects, Data Types, Collections
- Numbers
- Basic Operators
- Decision Making
- Loops
- Strings
- Python Data Structures
- Date & Time
- Functions
- Modules & Packages
Alexa Programming
HTML Programming (Last offered in 2017)
Syllabus:
- Programming Logic Fundamentals - we will be using JavaScript, a simple, but functional language, to learn basic programming logic concepts, such as loops, variables, functions, and conditionals - the core 4 of computer programming.
- HTML Basics - to begin an introduction to web development and designing user interfaces, we will be learning about elements in HTML, and constructing a draft for our own personal web pages.
- Responsive Design - integrating the concepts of JavaScript and HTML that we learned, we will make responsive, dynamic web pages using JS as a back-end for our personal web pages.
- Graphics and UI - CSS (cascading style sheets) will be taught as a means to make unique and visually appealing websites, along with the HTML concepts of tags, names, IDs, and other identifiers needed to make a fully integrated website.
- Advanced Logic - using array concepts, we will learn how to solve programming challenges such as the ones in the USA Computing Olympiad, as an application of the programming logic that was previously learned.
- App Development - combining all of the elements taught in the class, students will use Thunkable, a more advanced version of MIT App Inventor, to create a fully-functioning mobile application for Android phones.