CS246: Programming Paradigms: Merging the Real & Virtual Worlds, Bryn Mawr College

Douglas Blank
Spring 2010

General Information

Instructor:
Douglas Blank, 248 Park Science Building, 526-6501
Email: dblank (at) cs (dot) brynmawr (dot) edu
Web: cs.brynmawr.edu/~dblank
Office hours: Monday 10am - 11am, Wednesday 10am - 11am, and by appointment.
Lectures: Mondays and Wednesdays, 2:30pm - 4:00pm
Lab: Park Science Building, Emergent Intelligence Laboratory, room 230
Gradebook: edventure
Teaching Assistants: TBA

Texts

We will use a variety of on-line resources. There may be a reference book or two that you might want. TBA

Hardware

We will make use of a variety of hardware, including a Microsoft Surface touch table, located in the Emergent Intelligence Lab. We will also be exploring RFID equipment, iPhone Apps, cameras, and laser scnanners.

Software

We will be focusing on Python, C#, and C. You will be able to run this software through open source/free software versions, or it will be provided in the lab.

Schedule

Week
Topic
Assignment
Week 1: Jan 20
Object Oriented Programming in Python
Read Chapters 12, 13, 14 of How to think like a Computer Scientist
Week 2: Jan 25, Jan 27
An introduction to C#
Lab #1
Week 3: Feb 1, Feb 3
Advanced Topics in C#
Lab #2
Week 4: Feb 8, Feb 10
Microsoft Surface Computing Topics
Department Review, Snow day. No meetings this week.
Week 5: Feb 15, Feb 17
Writing a Surface Application, Understanding C#, MS Surface Development, More Info
Getting Started on the Surface, IronPython and .NET
Week 6: Feb 22, Feb 24
Demonstrations
Lab #5
Week 7: Mar 1, Mar 3
Csharp Concepts
  1. Namespaces (lesson 6) - Emma
  2. Inheritance (lesson 8) - Caitlyn
  3. Polymorhism (lesson 9) - Alex S.
  4. Properties (lesson 10) - Alex F.
  5. Structs (lesson 12) - Chris
  6. Interfaces (lesson 13) - Cara
  7. Delegates (lesson 14) - Michelle
  8. Attributes (lesson 16) - Nick
  9. Operator Overloading (lesson 18) - Simran
  10. Encapsulation (lesson 19) - Melanie
  11. Generics (lesson 20) - Noah
  12. Anonymous Methods (lesson 21) - Ashley
  13. Nullable Types (lesson 23) - Meena
  14. LINQ - Doug
Week 8: Mar 8, Mar 10
Spring Break!
No classes
Week 9: Mar 15, Mar 17
Delegates, Lambda, and LINQ
Lab #7
Week 10: Mar 22, Mar 24
Killer Apps and My App
Lab #8
Week 11: Mar 29, Mar 31
Discussion of Ideas
Lab #9
Week 12: Apr 5, Apr 7
LINQ and linking to real world
Work on Project
Week 13: Apr 12, Apr 14
Review Topics
Work on Project
Week 14: Apr 19, Apr 21
Topics in Touch Computing; Final Exam
Work on Project
Week 15: Apr 26, Apr 28
Project Presentations



Other dates of interest:

Grading

Exam 1: 20%
Exam 2: 25%
Labs & Written Work: 55%

Links