Skip to main content

Undergraduate Program

Instructor Page for Clone of Dynamic Languages and Software Development

Course: CSC  253
Term: Fall 2013-2014

Instructor, time and description

Instructor: Chåen Ding, Prof., CSB Rm 710, x51373
Lectures: Tuesdays and Thursdays, 3:25pm to 4:40pm, CSB 601 
TA: Jacob Brock, jbrock <at>
Office Hours: Ding, Fridays 11am to 12, CSB 720, chending07 on Skype (email/IM before coming so I'll be in office for sure);  Brock, Wednesdays any time between 9am and 5pm by appointment, CSB 627.

Modern software is increasingly constructed from existing components, dynamically composed and run in a networked environment.  The course teaches concepts, principles and practices of dynamic programming languages and modern software design. The topics include advanced techniques in procedural, functional, and object-oriented programming; composition of functions, objects and modules; design patterns; software process and agile methods;  tools for collaborative software development; and select topics in mobile and on-line software development.  Course assignments consist of individual and group projects and presentations, including the development of collaborative software (groupware).

CSC 252 and CSC 254 are recommended before taking the course.  The course does not have a single textbook.  Lecture slides and other material will be distributed through the class repository.

2012 course web page

CSC 290A course page (Collaborative Software Engineering, Spring 2009)


Homework 1 (Due Friday, Sept. 6)

In Repository


Homework 2 (Due Friday, Sept. 13)



In Repository