CR: COMP 1406 Learning Objectives: Difference between revisions
Created page with "=Calendar Description= =Assumed Background= Learning objectives completed before this course. =Learning Objectives= Objectives for the whole course =Topics= ==Topic 1== …" |
|||
Line 8: | Line 8: | ||
=Learning Objectives= | =Learning Objectives= | ||
Object-oriented programming | |||
* Given a set of requirements, be able to formulate an object-oriented | |||
solution, identifying appropriate objects, attributes, behaviors, | |||
and associations between objects (inheritance, composition), and | |||
making appropriate use of inheritance and override in method | |||
implementations. | |||
* Understand the advantages of object-oriented programming for | |||
encapsulation and reuse. | |||
* Be able to navigate a moderately sized existing class hierarchy, | |||
for example a GUI API. | |||
General programming | |||
* Be able to construct a complete application including user | |||
interaction and the file system. | |||
* Be able to build an application using the Model/View/Controller | |||
pattern. | |||
* Have an understanding of scoping as an explicit concept. | |||
Data structures | |||
* Have experience with simple abstract data types such as stacks, | |||
lists, sets, and dictionaries, and an understanding why the | |||
abstractions are useful. | |||
* Be able to solve simple problems involving elementary singly and | |||
doubly-linked data structures such as lists and trees. | |||
Recursion | |||
* Understand the recursive view simple data structures such as trees, | |||
and be able to apply the corresponding recursion pattern. | |||
* Use recursion to devise divide-and-conquer solutions to problems | |||
without obvious iterative solutions, for example tree traversals and | |||
maze pathfinding | |||
Efficiency | |||
* Have an intuitive, operational understanding of basic asymptotic | |||
complexity, for example quadratic vs linear time, but without a | |||
formal definition of "big-O". | |||
Testing and debugging | |||
* Have a repertoire of elementary techniques for locating bugs in | |||
source code. | |||
* Know some of the common kinds of bugs that arise in object-oriented | |||
programs. | |||
=Topics= | =Topics= |
Revision as of 14:36, 2 May 2011
Calendar Description
Assumed Background
Learning objectives completed before this course.
Learning Objectives
Object-oriented programming
- Given a set of requirements, be able to formulate an object-oriented
solution, identifying appropriate objects, attributes, behaviors, and associations between objects (inheritance, composition), and making appropriate use of inheritance and override in method implementations.
- Understand the advantages of object-oriented programming for
encapsulation and reuse.
- Be able to navigate a moderately sized existing class hierarchy,
for example a GUI API.
General programming
- Be able to construct a complete application including user
interaction and the file system.
- Be able to build an application using the Model/View/Controller
pattern.
- Have an understanding of scoping as an explicit concept.
Data structures
- Have experience with simple abstract data types such as stacks,
lists, sets, and dictionaries, and an understanding why the abstractions are useful.
- Be able to solve simple problems involving elementary singly and
doubly-linked data structures such as lists and trees.
Recursion
- Understand the recursive view simple data structures such as trees,
and be able to apply the corresponding recursion pattern.
- Use recursion to devise divide-and-conquer solutions to problems
without obvious iterative solutions, for example tree traversals and maze pathfinding
Efficiency
- Have an intuitive, operational understanding of basic asymptotic
complexity, for example quadratic vs linear time, but without a formal definition of "big-O".
Testing and debugging
- Have a repertoire of elementary techniques for locating bugs in
source code.
- Know some of the common kinds of bugs that arise in object-oriented
programs.
Topics
Topic 1
Learning objectives for topic 1
Topic 2
Learning objectives for topic 2