Locked History Attachments

Diff for "COMP2911"

Differences between revisions 2 and 17 (spanning 15 versions)
Revision 2 as of 2009-07-10 12:54:34
Size: 517
Comment:
Revision 17 as of 2010-02-24 08:54:48
Size: 2894
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= COMP2911: Computing Design = = COMP2911: Design in Computing =
Line 5: Line 5:
||<#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> ~-[http://www.cse.unsw.edu.au/~cs2911/07s2 2007 s2]-~ ||<#cccccc> ~-[http://www.cse.unsw.edu.au/~cs2911/07s1 2007 s1]-~ || ||<#cccccc>~+ Course Material +~ ||<#ccccff> ~+ ''' [[https://wiki.cse.unsw.edu.au/cs2911cgi/10s1|2010 s1]] +~<<BR>>''current session''||<#cccccc> ~- [[http://www.cse.unsw.edu.au/~cs2911/09s2/|2009 s2]] -~ ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs2911/09s1|2009 s1]]-~ ||<#cccccc> ~- [[http://wiki.cse.unsw.edu.au/cs2911cgi/08s2|2008 s2]] -~ ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs2911/08s1|2008 s1]]-~ ||<#cccccc> ~- [[http://wiki.cse.unsw.edu.au/cs2911cgi/07s2|2007 s2]] -~ ||<#cccccc> ~-[[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.

=== Course Coverage ===
 * [[CoreCourses/Syllabus| Topic list]]
 * [[CoreCourses/StyleGuide|Coding Style Guide]]

=== Student Resources ===
 * [[http://www.youtube.com/user/unswelearning#g/c/0F5ACFC767C1C4D9|lectures on YouTube]]
 * [[/SubjectInformation|Standard Course Outline]]
 * [[/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 -~

COMP2911: Design in Computing

Course Material

2010 s1
current session

2009 s2

2009 s1

2008 s2

2008 s1

2007 s2

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.

Course Coverage

Student Resources

Staff Resources


CategoryCourseHomePage