Course Schedule - Personal Software Engineering (4010-350)
Winter 2012-2013 (20122)

Updated: 01/29/2013

Reading References Key

           

PP

The Pragmatic Programmer

CC

Code Complete (2nd Ed.) (Books 24x7)

LCJ

Learning C from Java (online PDF)

STDLIB

C Standard Library at CPlusPlus (online)

C Standard Library Synopsis (online)

SM

SuperMan (online man pages for commands)

BBG

Bash Beginners Guide (online PDF)

LTS

Linux Tools Summary (online PDF)

 

Additional Course Resources

 

Note: Unless otherwise stated all due date times are 11:59.00 PM of the indicated day. Dropboxes close based on myCourses time.

 

Week

Session 1

Session 2

Assignments

 

Assigned Reading

1

(Nov 26)

 

Course Introduction

 

Git Intro

FizzBuzz

 

C Introduction

 

Notes (C Intro)
C Basic Activity
 

 

 

<<Project #1 Out>>
(C w/o pointers)

   

 

 

PP Chapter 1 (pp. 1-24)

LCJ pp. 1-16

CC Chapter 1

2

(Dec 3)

 

C Arrays, Strings

C Structs, typedefs, enums

 

Notes (C Arrays, Strings)

C Array Activity

 

Notes (C Structs & makefiles)

C Struct & String Activity

 

 

Unix/Linux Environment

Command tools



 

Discussion #1 begins

 

 

 

PP Chapter 3 (shell/cm)

LTS Chapters 1,3-6,7.1-7.2,11

 

3

(Dec 10)

 

C Pointers

 

Notes

C Pointers Activity

 

C Memory Mgmt

 

Notes

 C Dynamic Memory Activity

Practicum #1 (Basic C only – no pointers – 60 minutes)

 

<<Project #1 Due>>
Sunday 12/16

 

<<Project #2 Out>>



 

LCJ pp. 16-33

 

4

(Dec 17)

 

Additional C Topics – Unit Testing

 

C Linked List Activity

 


C - More on Memory Mgt.

Debugging

 

Notes

C Debugging Activity

 

 

Discussion #1 ends

 

Discussion #2 begins

 

 

CC2 : Chapters 25,26

BREAK

5

(Jan 7)

 

C – Unit Testing

 

simplectest Activity

 

C - Debugging/Unit Testing con’t

 

Binary Tree Debugging Activity

 

 

 

 

6

(Jan 14)

 

C - (wrap-up as needed)

Intro. to Ruby

Ruby Scripting Exercise


Practicum #2 (C – Pointers, Memory Mgmt, 100 min)

 

 

<<Project #2 Due>>
Friday 1/18

<<Project #3 Out>> Ruby

 

Programming Ruby: Pragmatic Programmers

Forward, Preface, Roadmap, Ruby.new sections

7

(Jan 21)

 

Ruby as an OO Language

Ruby Unit Testing

Ruby Unit Test Exercise

 

More Ruby 

 

SVN Log Analysis

 

Discussion #2 ends

 

Discussion #3 begins

Programming Ruby: Pragmatic Programmers

Classes, Objects and Variables section

8

(Jan 28)

 

Introduction to Relational DBs
DB Activity

 

Practicum #3 (Ruby, 100 min)


<<Project #3 Due>>
Sunday 2/3

 

 

Complete Tutorial:

Rails for Zombies

Before first class of Week 9

 

9

(Feb 4)

 

Rails Intro

Songs Database

 

 

Rails continued

<<Project #4 Out>>
 (Ruby on Rails)

 

 

10

(Feb 11)

 

Testing in Rails

Rails Testing Activity

 

Final Review

Surveys

 

<<Project #4  Due>>

(Last Day of Class)

Discussion #3 ends

 

 

11

(Feb 18)

Final Practicum
Date: Tuesday 2/19/2012   2:45 PM – 4:45 PM

 

Grading

 

Grade Element

Weight

Description

Project 1 – Static C

10%

Project in C w/o pointers & memory allocation

Project 2 – Dynamic C

15%

Project in C w/ pointers

Project 3 – Ruby

15%

Project in Ruby

Project 4 – Ruby on Rails

10%

Project in Ruby on Rails

Practicum #1

5%

One hour problem using C w/o pointers

Practicum #2

10%

Two hour problem using C w/ pointers

Practicum #3

10%

Two hour problem using Ruby

Practicum #4 (Final)

15%

Two hour programming problem

Attendance

0%

Attendance in class (see syllabus)

In Class Activities

5%

Small in class group activities

Discussions

5%

Participation in Discussion Forums (3)

 

Discussion Group Guidelines – Discussion questions and group assignments will be made through myCourses.