Skip to main content

Schedule

Warning! This schedule, like much of the course, is under development and may change significantly.

Skip to schedule Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | Week 7

Week 1
Date Topic Work Due
1/22 An introduction to CSC 321
We look at the “big picture” of the course.
1/24 Getting started with Ruby
We start to investigate some issues in Ruby.
1/26 An introduction to software engineering
We consider three models of software engineering and delve more deeply into agile practices
Week 2
Date Topic Work Due
1/29 Ruby, continued
We continue to investigate some issues in Ruby.
1/31 Web technologies
We explore some of the basic technologies associated with the World Wide Web.
2/2 An introduction to Rails
We begin to consider the use of Rails
Week 3
Date Topic Work Due
2/5 Your first database-backed Rails application
We explore the issues in building a database-backed Web application.
2/7 A static site
We begin to develop a larger Rails application from scratch
2/9 User stories
We consider user stories, a key mechanism for understanding user requirements that also supports other design and development activities.
Week 4
Date Topic Work Due
2/12 Extending your Rails application (1)
We take the first steps in expanding our static site into a more visually appealing and rich site.
2/14 Visits from alumni mentors
Our alumni mentors visit the course to discuss big-picture and small-picture issues.
2/16 Extending your Rails application (2)
We continue to expand the capabilities of our sample Web application.
Week 5
Date Topic Work Due
2/19 Modeling data
We consider some basic issues in modeling data.
2/21 Modeling data, continued
We continue to explore ways to model data in SQL and Rails and the relationships between data. (Guest lecture by KY)
2/23 Test-driven development (TDD)
We explore a “test-first” approach to developing programs. (Guest lecture by JDS)
Week 6
Date Topic Work Due
2/26 Legacy code and code smells
We consider a variety of ways to handle existing code and to identify likely trouble spots. We also begin to consider ways to address problematic code.
2/28 Class cancelled
No class
3/2 Refactoring code
We continue to explore ways to address problematic code.
Week 7
Date Topic Work Due
3/5 Design patterns
We consider some basic issues pertaining to design patterns, a set of guidelines for thinking about software design.
3/7 Design patterns, continued
We continue to explore design patterns.
3/9 Wrapup
We conclude the course.