Differences between revisions 20 and 24 (spanning 4 versions)
Size: 2932
Comment:
|
Size: 2987
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 32: | Line 32: |
=== Course Information === | === About the Course === |
Line 36: | Line 36: |
* [[CoreCourses/StyleGuide|Coding Style Guide]] | * [[JavaStyleGuide|Java Style Guide]] * [[CoreCourses/StyleGuide|C Style Guide]] |
Line 49: | Line 50: |
~- CategoryCourseHomePage -~ | ~- CategoryCourseHomePage | <<Hits>> page views -~ |
COMP2911: Design in Computing
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.
- Use an IDE.
- Program in Java.
About the Course
Student Resources
Staff Resources
CategoryCourseHomePage | 85964 page views