Locked History Attachments

Diff for "COMP2911"

Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2009-07-09 17:06:25
Size: 385
Comment:
Revision 14 as of 2010-02-23 18:08:11
Size: 3013
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>~+ 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 ===

''The Science of computer science. Introduction to Data structures and algorithms. ''

 * '''This course'''
 After completing COMP2911 you should:
  * Work effectively in teams to design and implement solutions to large problems
  * Have an appreciation of the role of design in computing
  * Understand the engineering design process
  * Select and/or design the appropriate algorithms/data structures/class hierarchies when developing software to solve non-trivial new and unfamiliar problems

 Specifically this involves:
    * 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

The Science of computer science. Introduction to Data structures and algorithms.

  • This course After completing COMP2911 you should:

    • Work effectively in teams to design and implement solutions to large problems
    • Have an appreciation of the role of design in computing
    • Understand the engineering design process
    • Select and/or design the appropriate algorithms/data structures/class hierarchies when developing software to solve non-trivial new and unfamiliar problems
    Specifically this involves:
    • 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