CURRICULUM - STARKVILLE

Programming Fundamentals

Part I: Programming Concepts

Modules:

  • Variables
  • Binary Representation I
  • Computer memory models
  • Basic Flowcharting
  • Algorithmic Sequence
  • Algorithmic Selection
  • Algorithmic Looping

Part II: Programming Introduction

Language: C#

Modules:

Console Development (each with project)

  • Operators and Variables
  • Structures & Looping
  • Arrays, Lists, Stack, etc.
  • Functions & Recursion
  • User Defined Datatypes
  • Graphics

Major Project – RLE Compression of a PPM File

  • Creating classes
  • Public vs. Private
  • Methods / Properties
  • Defining Operators
  • Overriding Methods
  • Poly Morphism
  • Inheritance (binary tree from tree)

Project

 

GUI Development

Language: C#

  • Introduction
  • Form Design
  • Event Handling
  • Form Objects

Major Project – Seeded Terrain Generator

DBMS Training

Language: SQL

Modules:

  • Introductory Database Concepts
  • Database Planning and Database Architecture
  • Database Creation and Initialization
  • Database Operations
  • Database Integration

Major Project

Introduction to Web Development

Language: HTML, CSS, JavaScript

Modules:

  • Page Elements
  • Layout and Structure
  • Document Object Model (DOM) and Events
  • Implementing jQuery
  • Asynchronous Web Development, Ajax and JSON
  • Accessing Application Programming Interfaces (APIs)

Major Project

Introduction to MVC

Language: JavaScript w/React, ASP.net

Modules:

  • Controllers
  • Views
  • Models
  • Forms and HTML Helpers
  • Data Annotations and Validation
  • Membership, Authorization, and Security
  • MVC – ASP.NET Web API
  • MVC – Single Page Applications with AngularJS
  • Dependency Injection
  • MVC – Unit Testing

Project

Game Development

Language: GML

Modules:

  • The game loop
  • GML Concepts
  • Capturing input
  • Instances
  • Collision detection
  • Graphics & Sound

Project

Artificial Intelligence

Using our NAO robot, the coders will be introduced to robotics and artificial intelligence concepts.

Computer Security

This will provide the coders with a foundation in computer security with an emphasis on data protection.

Professionalism and Personal Growth

Employment Preparation

We will be continuing to work with employers to open up opportunities to allow the coders to shadow or intern at the employers’ workplace. The coders will also be working through tailored coursework to prepare them for their desired position.