Locked History Attachments

COMP2911

Course Homepage

COMP2911: Design in Computing

Course Material

2013 s1
current session

2012 s1 {*}
2012 s2

2011 s1 {*}
2011 s2 {o}

2010 s1 {*}
2010 s2 {X}

2009 s1 {*}
2009 s2 {X}

2008 s1 {X}
2008 s2 {X}

2007 s1 {X}
2007 s2 {X}

Key
{*} - Course offering accessible, course links to and follows 2911 syllabus
{o} - Course offering accessible, different syllabus used
{X} - Course offering not available, link is broken

Overview

After completing COMP2911 you should:

  • Understand the engineering design process
  • Have an appreciation of the role of design in computing
  • Work effectively in teams to design and implement solutions to large problems
  • Select and/or design the appropriate algorithms/data structures/class hierarchies when developing software to solve non-trivial new and unfamiliar problems

Specific Skills

  • Understand the fundamentals of Object Oriented (OO) programming.
  • Design OO solutions for larger problems using abstraction and interfaces.
  • Be able to appropriately reuse code using inheritance.
  • Understand the issues involved in designing classes in an OO system.
  • Distinguish between well-designed OO programs and poorly designed OO programs.
  • Be aware of and make appropriate use of the most common design patterns in your class designs.
  • Understand the most common algorithm design methodologies, and their strengths and weaknesses
  • Appreciate when to select existing algorithms and when to design new ones.
  • Be able to design reasonable algorithms to solve a range of problems.
  • Be able to successfully develop large projects in teams using agile methods.
  • Engage in effective pair programming.
  • Follow a style guide and engage in effective code review.
  • Understand and effectively use: program by contract, test driven development, and refactoring.
  • Work effectively in a team.
  • Use an IDE.
  • Program in Java.

About the Course

Student Resources

Staff Resources


CategoryCourseHomePage | 85886 page views