1 / 8

Comp 312 Production Programming Lecture 1 Course Overview and Culture

Comp 312 Production Programming Lecture 1 Course Overview and Culture. Corky Cartwright January 12, 2005. Course Facts. See web page www.cs.rice.edu/~cork/312 Participate in the course wiki which will be established soon. What is Comp 312?.

Download Presentation

Comp 312 Production Programming Lecture 1 Course Overview and Culture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comp 312Production ProgrammingLecture 1Course Overview and Culture Corky Cartwright January 12, 2005

  2. Course Facts See web page www.cs.rice.edu/~cork/312 Participate in the course wiki which will beestablished soon

  3. What is Comp 312? • Production programming using test-driven development as codified in eXtreme Programming (XP) • What characterizes XP? • Incremental, test-driven program development • Comprehensive unit testing suite included in code base • Continuous integration • Pair programming • Group ownership of code • On-site customer • Simplicity is more important than generality • Refactoring • Coding standard • Active learning in real-world context

  4. What is Comp 312, cont. • Leading edge programming technology • Generics • Concurrency • Reflection • Custom class loaders • Ant and XML • Review of OO Design principles • Design Patterns • How to Write Unit Tests • Refactoring • Concurrent Programming • Threads • Locking disciplines to prevent races • Deadlock • Project Management

  5. Subtext of Comp 312 • Gateway to Java PLT Research Group. • Projects in Comp 312 are tied to Java PLT research program. • Lightweight project facility for DrJava • Support for refactoring including a language for defining refactoring transformations • Language levels • Lightweight code completion, XML class diagrams • Framework for the unit testing of concurrent programs

  6. Good Software Engineering Practice • Test-driven design • Unit tests for each non-trivial method written before any method code is written • Unit tests are a permanent part of the code base • Continual integration • Continual refactoring to improve coding logic and avoid code duplication • Pair programming • Conscientious documentation (contracts) • Avoiding mutation unless there is a compelling reason

  7. Course Culture • Workload: 10-12 hours a week includingclass time. You must keep a log describing how you spend this time. • No traditional programming assignments or exams. • Graded exactly as you would be evaluated as an employee. Input from managers and logs is critical.

  8. Assignment 1 • Due Friday, Jan 14 in class.Read "Everything about programming …" article on course web page. • Due Wednesday, Jan 19Read Generics Tutorials by Eric Allen and Gilad Bracha on the course web page

More Related