Syllabus

CS4CS 2017 Curriculum Outline, Subject to Change

Days 1 through 6: Introductory or intermediate programming (depending on your prior background). Introduction to Problem Solving, Computational Thinking, and Python Programming Language

  •      Overview of computer hardware and software systems; basics of using UNIX, text editor, etc.
  •      Bits, bytes, binary, and hex. Representations of text and images.
  •      Variables, objects, and types: int, float, string, Boolean
  •      Conditional statements, loops, functions
  •      lists
  •      Input and output with files
  •      Assembly (Little Man Computer)
  •      Exploits

Day 7: Cryptography

  •     Caesar Cipher  revisited
  •     Vigenere Cipher
  •     Frequency Analysis
  •     One Time Pad
  •     RSA
  •     Hashing

Days 8 and  9: Operating Systems

  •      File System
  •      NTFS
  •      FAT
  •      Operating System
  •      Scheduling Activities
  •      Command Line
  •      Chmod
  •      Ssh
  •      Log Files

 Day 10 Image Analysis: Objectives (Information Hiding, Minimization)

  •      Steganography
  •      (Field Trip or Guest Speaker)

Day 11 Networks

  •      IP Address
  •      MAC address
  •      Tablets of stone (reliable transport exercise)
  •      Wireshark

Day 12 The web

  •     Browser, Servers, Domain Names, DNS
  •     Search Engines
  •     HTTP: Request, Responses, get/post parameters, cookies, session variables
  •     HTML Documents: Static, Dynamic, Script
  •     HTTPS: Http + Authentication & Encryption

Day 13  Databases

  •      Relational Model
  •      SQL
  •      Authorization
  •      Main ideas and limitations of SQL Authorization Model
  •      Storing Passwords
  •      Plain Text Bad; Hashed better; Dictionary Attack; Salted, better yet
  •      SQL Injection

Day 14 Forensics

  •     Forensics tools
  •     CSAW Challenge