IT Course Tentative Curriculum

Tentative Course curriculum:

This list will change and evolve as I learn more about the needs and learning ability of the students
Apps and App Management

  • how to use the various prepackaged apps
  • Installing apps from Google Play Store
  • Installing apps from downloaded APK file
  • Exercise: Downloading and Installing the Touch Typing app

Touch typing

  • Keep your forefingers on F and J
  • asdf
  • jkl;
  • the rest of the keyboard
  • numeric keyboard

Android System Configuration

  • Using a tablet with keyboard and mouse¬†Current tablets can only support 2 plugin devices at a time
  • Enabling Ethernet
  • Changing Wallpaper
  • Adjusting Brightness
  • Adjusting Sleep Time
  • Etc.

Files and File Management

  • Introduction to the File Management App
  • Files and Folders
  • File Types
  • Accessing the USB Drive
  • Backups and zip files – what, what for and how

Text Editing

  • Saving and Loading
  • Copy, Cut and Paste
  • Caps Lock
  • Italics, Bold and Underline
  • Font color and size
  • Fonts

Slideshow Presentations

  • What is a slide show, and what is it for
  • Fonts
  • Embeded Audio, Images and Videos
  • Transitions

Basic Spreadsheets

  • What is a Spreadsheet, and what is it for
    Each cell is a small calculator
    Spreadsheets allow document editing with automatic calculations
  • Cell formatting (width, height, text color, background color, fonts and styles)
  • Data types and formatting
  • Layout, Margins and Print Preview
  • The $ symbol
  • Populating multiple cells by Dragging
    Copying a value
    Copying a formula (emphasis on effect of $)
    Using a pattern
  • Accessing variables on another spreadsheet

Advanced Spreadsheets (Introduction to Programming)

  • Cells as Variables
  • Formulas
  • Mathematical Functions
  • If statements
  • VLOOKUP statements
  • Exercise: create a spreadsheet to calculate income and expenses in a harvest season, with variables that can be set for different crops

Introduction to Web Apps

  • Blogs (WordPress)
  • Wikis (MediaWiki, Wikipedia)
  • CMS (Joomla and Drupal)

WordPress Management
HTML
Basic Documentation: Flowcharting
Basic PHP

  • Rock Paper Scissors Web App Demo (Tell students: “After this subject, you’ll be able to do this and more”)
  • Printing text to screen: Hello World
  • Calculations with number constants
  • Calculations with variables
  • Variable Types
  • Strings
  • String manipulation
  • Program Flow Structures (If, While, Do While, For loops)
  • Functions
  • Forms

Basic Database (MySQL and PHPMyAdmin)
PHP with Mysql
PHP Configuration
Structured Documentation

  • Real life examples of what happens without documentation
  • Documentation principles and values
    Some people are better at coding. Some people are better at documentation.
    Allow your head time to shift gears when moving from coding to documentation
    Document first, then code, then adjust documentation. This gives you a clearer picture of what you want to achieve.
    Why most programmers don’t document – real life conditions – faster development means more programs means more money, but the client is not happy. A happy gives you repeat projects.
    If you can do it in your head, you can do it on paper. If you can do it on paper, you can do it in the computer.
  • Documentation records the development of an idea as it grows from small and simple pieces to large complex systems. Communicating a complex system is difficult, time consuming and error prone. By allowing the idea to grow in other people’s heads the way they grew in yours, you help them understand the whole thing piece by piece, in a natural way. So document your program as if telling a story.
  • Number your documents as you produce them, to facilitate telling the story, like a story board. You can have simple versions of the program pieces / modules, then more complex ones, then more complex ones, as if taking pictures of a growing plant. You can even draw several design choices, list down their pros and cons, and then explain why you chose one of them.

Algorithms

  • Bubblesort
  • Quicksort
  • Introsort
  • etc

CSS
Object Oriented Concepts

  • Metaphor of the the car and the train
    The car is like a structured program where the driver (the main() function) controls everything. The train is like an object oriented program where employees and departments (objects and classes) work together to keep the train station functioning properly
  • Classes and Objects are like small programs that work together to create a bigger program
  • The main benefit of Object Oriented Programming is software reuse
    Learn to create programs that are meant to be reused
    API Documentation helps users reuse software

OOP Documentation: API Docs and UML Diagrams
PHP OOP
Data Structures

  • Queues and Stacks (first in first out, last in first out)
  • Trees

Javascript
JQuery
AJAX
Basic CSS3
Basic HTML5
Basic Java
Java OOP
Java with Mysql
Design Patterns

  • Singleton
  • Model Controller View
  • Factory
  • etc

Basic Android Development

Open Source Software

  • Concept of CopyLeft
  • Overview of the history of Linux and Open Source Software
  • The Cathedral and the Bazaar
  • International Online Collaboration and how it works
  • Online open source tools (diff, git, bitbucket, google code, etc.)
  • How to profit from Open Source Software
  • ODesk

Web Services

  • Email
  • Forums (Yahoo Groups)
  • Maps (Google Earth)
  • Social Networking (Facebook, Twitter)
  • Chat and VideoChat (Skype)
  • eCommerce (Amazon, eBay)
  • etc.