STDIO Ghana

a course on Software Engineering

Carl, Dane, Deanne, Jonathon, Seifu

Overview

Two weeks, starting now. Each day:

  • 9 AM: Warm-up, then Python Language Session
  • noon: break for lunch
  • 1 PM: resume with Engineering Session, then team work on project.
  • a bit before 5 PM: team brief on progress + feedback
  • 5 PM: end of coursework
  • Evening (6-6:30 PM): optional social event

On the last day of the course, team demos

Week 1: Monday

Warmup
This!
Language Session
Python Basics
Engineering Session
Tools
Team Task
setup teams, pick projects, organize repositories
Social
Setup personal machines

Week 1: Tuesday

Warmup
Bowling
Language Session
Flow Control
Engineering Session
Software Requirements
Team Task
project requirements
Social
Instructor Project Demo: Edison

Week 1: Wednesday

Warmup
Proj. Euler
Language Session
Python Not-so-Basics
Engineering Session
Testing
Team Task
convert requirements into tests
Social
Games Night

Week 1: Thursday

Warmup
20 Questions
Language Session
Debugging
Engineering Session
Best Practices
Team Task
think about how best practices apply to project, implement some tests
Social
Instructor Project Discussion

Week 1: Friday

Warmup
Command Line Tricks
Language Session
Python OOP Syntax
Engineering Session
Effective OOP
Team Task
rough out objects for project
Social
Movie Night

Week 2: Monday

Warmup
Security
Language Session
Python IO
Engineering Session
Reuse
Team Task
identify libraries useful to project
Social
Football, then Ghana v. US World Cup game

Week 2: Tuesday

Warmup
Project Euler, redux
Language Session
Python + C++
Engineering Session
User Interfaces
Social
technical presentation practice session

Week 2: Wednesday

Warmup
Discuss open topics
Engineering Session
Distributed Computing
Language Session
Parallel Python
Social
potluck dinner

Week 2: Thursday

Warmup
Telephone Game
Language Session
Open session TBD by class
Engineering Session
Open session TBD by class
Social
none planned; instructors available for demo preparation assistance

Week 2: Friday

Warmup
light snacks, presentation setup
Morning
Team Demonstrations
Afternoon
Lunch, course feedback, pictures, instructors depart for airport

The Method of This Course

Tell Everyone Your Name, and One Thing About Yourself

Then: ask us anything{:.fragment}

What is a Computer?

What is Software Engineering?