Course

Course Summary
Credit Type:
Course
ACE Course Number:
SKIL-0214
Organization:
Location:
Online
Length:
39.5 hours and 16 lab hours
Dates Offered:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Lower-Division Baccalaureate 3 programming
Description

Objective:

The course objective is to provide learners with the knowledge and skills required to be a Novice Programmer and to build upon those skills to eventually become an Apprentice Programmer. The focus will be on SQL programming and building Web apps using Django. The course will also cover design patterns in JavaScript, as well as Unit testing in JavaScript.

Learning Outcomes:

  • create and update tables in MySQL
  • query data and implement joins
  • use grouping and aggregation operators to analyze groups of rows
  • define views, indices, and normal forms in MySQL
  • use triggers and stored procedures, as well as transactions, savepoints, and locks
  • build a basic website using Django
  • use Django templates and the user administration
  • use Django models and user registration
  • configure Django's built-in login and logout views
  • implement Constructor, Factory, and Abstract Factory creational patterns
  • implement Singleton, Prototype, and Builder patterns in JavaScript
  • implement Module, Revealing Module, Façade, Decorator, and Mixin Structural Patterns
  • implement Flyweight, Adapter, Composite, and Proxy Structural Patterns
  • implement Observer, Mediator, State, Command Behavioral Patterns, and Iterator Behavioral Patterns
  • install, configure, and use Node.js, npm, and Mocha
  • use the assertion libraries (Should.js and Must.js) to test code
  • configure the Mocha testing framework
  • use Mocha, Chai, and SinonJS.

General Course Topics:

  • Building web apps using Django: introduction to web frameworks and Django
  • Building web apps using Django: building a basic website
  • Building web apps using Django: templates and user administration
  • Building web apps using Django: models and user registration
  • Building web apps using Django: implementing login and logout
  • Building web apps using Django: generic views
  • MySQL: getting started
  • MySQL: creating and updating tables
  • MySQL: querying data
  • MySQL: understanding and implementing joins
  • MySQL: grouping and aggregation operations
  • MySQL: views, indices, and normal forms
  • MySQL: triggers and stored procedures
  • MySQL: transactions, savepoints, and locks
  • Design patterns in JavaScript: getting started
  • Design patterns in JavaScript: constructor, factory, and abstract factory creational patterns
  • Design patterns in JavaScript: Singleton, Prototype, and Builder Creational patterns
  • Design patterns in JavaScript: module, revealing module, façade, decorator, and Mixin structural patterns
  • Design patterns in JavaScript: Flyweight, Adapter, Composite, and Proxy structural patterns
  • Design patterns in JavaScript: observer and iterator behavioral patterns
  • Design patterns in JavaScript: mediator, state, and command behavioral patterns
  • Unit testing in JavaScript: Mocha and Unit.js
  • Unit testing in JavaScript: Should.js and Must.js
  • Unit testing in JavaScript: exploring and configuring the Mocha testing framework
  • Unit testing in JavaScript: Mocha and Chai
  • Unit testing in JavaScript: SinonJS
Instruction & Assessment

Instructional Strategies:

  • Computer Based Training
  • Laboratory
  • Practical Exercises

Methods of Assessment:

  • Examinations
  • Quizzes

Minimum Passing Score:

70%
Supplemental Materials