Differences between revisions 1 and 36 (spanning 35 versions)
Size: 385
Comment:
|
Size: 3314
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
= COMP2911: Computing Design = | = Course Homepage = == COMP2911: Design in Computing == |
Line 5: | Line 6: |
||<#cccccc>~+ Course Material +~ ||<#ccccff> ~+ '''[http://www.cse.unsw.edu.au/~cs2911/09s2 2009 s2]''' +~[[BR]]''current session'' ||<#cccccc> ~-[http://www.cse.unsw.edu.au/~cs2911/09s1 2009 s1]-~ ||<#cccccc> ~-[http://www.cse.unsw.edu.au/~cs2911/08s2 2008 s2]-~ ||<#cccccc> ~-[http://www.cse.unsw.edu.au/~cs2911/08s1 2008 s1]-~ || | ||<#cccccc>~+ Course Material +~ ||<#ccccff> {*} ~+ ''' [[http://www.cse.unsw.edu.au/~cs2911/12s1|2012 s1]] +~<<BR>>''current session''||<#cccccc> ~-[[http://mahler.cse.unsw.edu.au/webcms2/course/index.php?cid=2182|2011 s1]] {*} -~ <<BR>> ~-[[http://www.cse.unsw.edu.au/~cs2911/11s2|2011 s2]] {o} -~||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs2911/10s1|2010 s1]] {*} -~ <<BR>> ~- [[https://wiki.cse.unsw.edu.au/cs2911cgi/10s2|2010 s2]] {X} -~ ||<#cccccc> ~- [[http://www.cse.unsw.edu.au/~cs2911/09s1/|2009 s1]] {*} -~ <<BR>> ~-[[http://www.cse.unsw.edu.au/~cs2911/09s2|2009 s2]] {X} -~ ||<#cccccc> ~- [[http://wiki.cse.unsw.edu.au/cs2911cgi/08s2|2008 s2]] -~ <<BR>> ~-[[http://www.cse.unsw.edu.au/~cs2911/08s1|2008 s1]]-~ ||<#cccccc> ~- [[http://wiki.cse.unsw.edu.au/cs2911cgi/07s2|2007 s2]] -~ <<BR>> ~-[[http://www.cse.unsw.edu.au/~cs2911/07s1|2007 s1]]-~ || === 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 === * [[/SubjectInformation|Course Outline]] * [[/AssumedKnowledge|Assumed Knowledge]] * [[CoreCourses/Syllabus| Topic list]] * [[JavaStyleGuide|Java Style Guide]] * [[CoreCourses/StyleGuide|C Style Guide]] === Student Resources === * [[http://www.youtube.com/user/unswelearning#g/c/0F5ACFC767C1C4D9|lectures on YouTube]] * [[/Schedule|Standard Teaching Schedule]] * Final Exams: [[attachment:Exam-Sample-2911.pdf|specimen exam]] [[attachment:Exam2007s1-2911.pdf|2007s1 final exam]] == Staff Resources == * [[/TeacherNotes|Notes on syllabus]] ||Postmortems and suggestions||~- [[/Postmortem/10s1|10s1]] -~||~- [[/Postmortem/09s2|09s2]] -~||~- [[/Postmortem/09s1|09s1]] -~||~- [[/Postmortem/08s2|08s2]] -~||~- [[/Postmortem/08s1|08s1]] -~|| ---- ~- CategoryCourseHomePage | <<Hits>> page views -~ |
Course Homepage
COMP2911: Design in Computing
Course Material |
|
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