Locked History Attachments

Diff for "COMP1917"

Differences between revisions 11 and 36 (spanning 25 versions)
Revision 11 as of 2010-02-26 11:37:18
Size: 5108
Comment:
Revision 36 as of 2012-02-22 17:27:09
Size: 2845
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= COMP1917: Computing 1 = = Course Homepage =
Line 5: Line 5:
||<#cccccc>~+ Course Material +~ ||<#ccccff> ~+ '''[[http://www.cse.unsw.edu.au/~cs1917/10s1|2010 s1]]''' +~<<BR>>''current session'' ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs1917/09s2|2009 s2]]-~ ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs1917/09s1|2009 s1]]-~ ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs1917/08s2|2008 s2]]-~ ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs1917/08s1|2008 s1]]-~ || == COMP1917 Computing 1 ==
Line 7: Line 7:
||<#cccccc>~+ Course Material +~ ||<#ccccff> ~+'''[[http://www.openlearning.net/courses/Comp1917|2012 s1]]'''<<BR>>''current session'' +~ ||<#cccccc> ~-[[http://openlearning.cse.unsw.edu.au/Comp1917/2011s1|2011 s1]] <<BR>> [[http://www.cse.unsw.edu.au/~cs1917/11s2|2011 s2]]-~ ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs1917/10s1|2010 s1]]<<BR>>[[http://www.cse.unsw.edu.au/~cs1917/10s2|2010 s2]]-~ ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs1917/09s1|2009 s1]]<<BR>>[[http://www.cse.unsw.edu.au/~cs1917/09s2|2009 s2]]-~ ||<#cccccc> ~-[[http://www.cse.unsw.edu.au/~cs1917/08s1|2008 s1]]<<BR>>[[http://www.cse.unsw.edu.au/~cs1917/08s2|2008 s2]]-~ ||<#ccccff> ~+ '''[[http://wiki.cse.unsw.edu.au/openlearning|2008 YouTube Version]]''' +~<<BR>>''see [[http://wiki.cse.unsw.edu.au/openlearning|openlearning]] site''||

Update: 2011 Version of the course PLUS course materials are being released throughout 2012.
Line 12: Line 15:

== Objectives ==
Line 19: Line 24:
  * Understand and appropriately use abstraction.
Line 20: Line 26:
  * Create and use dynamic data structures such as linked lists and trees.   * Create and use dynamic data structures such as linked lists.
Line 24: Line 30:
=== Specific Skills ===
Line 25: Line 32:
=== Course Coverage === === About the Course ===
 * [[/SubjectInformation|Course Outline]]
 * [[/AssumedKnowledge|Assumed Knowledge]]
Line 27: Line 36:
 * [[CoreCourses/StyleGuide|Coding Style Guide]]  * [[CoreCourses/StyleGuide|C Style Guide]]
Line 41: Line 51:
#acl All:read

= COMP2911: Design in Computing =

||<#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.

=== 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]] -~||
Line 91: Line 54:

----
~- CategoryCourseHomePage -~

Course Homepage

COMP1917 Computing 1

Course Material

2012 s1
current session

2011 s1
2011 s2

2010 s1
2010 s2

2009 s1
2009 s2

2008 s1
2008 s2

2008 YouTube Version
see openlearning site

Update: 2011 Version of the course PLUS course materials are being released throughout 2012.

Overview

Introduction to programming and computer science. Introduction to C, problem solving, debugging, programming style, unit testing, teamwork. Recursion, security, memory, pointers, and dynamic data structures.

Objectives

After completing COMP1917, you should be able to:

  • Design solutions for simple problems.
  • Design solutions for larger problems using abstraction and interfaces.
  • Distinguish between well-written programs and poorly written programs.
  • Write programs using good programming style.
  • Understand and appropriately use abstraction.
  • Have a solid understanding of the use memory and pointers in C.
  • Create and use dynamic data structures such as linked lists.
  • Test and debug programs.
  • Work in a team to develop software.

Specific Skills

About the Course

Student Resources

Staff Resources


CategoryCourseHomePage | 267070 page views