Course Overview
1.1 - Admin đ
COMP2511
Welcome to cs2511!!!
- Object-Oriented Design & Programming
- Course Staff
- Lecturer in Charge: Dr Ashesh Mahidadia
- Course Admins: Braedon Wooding, Nick Patrikeos
- All online for 21T3
The Story So Far: Course Context
- COMP1511: Solving problems with computers, the wonder and joy of programming
- COMP1521: Getting right down into the silicon
- COMP1531: Solving problems in a team; programming in the large
- COMP2521: Solving problems at scale using data structures and algorithms
- COMP2511???
COMP2511
- We can write code, but how do we write good code?
- Designing elegant and beautiful software
- Shades of Grey - things aren't clear cut
- From programmers to designers
Learning Objectives
-
Object-Oriented Design
- Understand the principles of Object-Oriented Design
- Be able to follow a systematic Object-Oriented Design process
- Be able to interpret and use tools for Object-Oriented Design
- Learn how to apply design principles and design patterns effectively to design flexible, maintainable and reusable systems
Learning Objectives
-
Object-Oriented Programming and Java
- Understand Object-Oriented Design programming languages
- Be able to write medium-scale object-oriented programs in Java
- Apply systematic methods such as test-driven development
- Understand the importance of documentation and use tools to document software
- Be able to use an IDE (Interactive Development Environment) for software development
Learning Objectives
-
Software Processes
- Understand the importance of team organisation and communication
- Be able to work within a small team in the context of a software development project
- Be able to plan and execute a software project according a systematic software process
Credit to Teaching Material
- No text book, the lecture slides cover the required topics
- However, you are strongly encouraged to read additional material and the reference books
-
In the lecture notes, some content and ideas are drawn from:
-
Head First Design Patterns , by Elisabeth Freeman and Kathy Sierra, The State University of
New Jersey
-
Refactoring: Improving the design of existing code , by Martin Fowler
-
How the course works
Lectures
- 4 hours of lectures per week
- 9 weeks of lectures
- Lectures are concept-driven
Tutorials
- 1 hour tutorial each week
- Similar to most CSE core courses
- Run via MS Teams
-
Participation Marks - awarded for:
- Attending
- Asking good and logical questions
- Taking initiative to answer questions and be engaged
- What if I can't make it??
- Tutorials are understanding-driven - interactive examples to illustrate concepts discussed in lectures
- Solutions and recording to tutorials posted at the end of each week
Lab Time
- 2 hours each week, straight after tutorial
- Similar to most CSE core courses
- Run via MS Teams
-
Weeks 1 - 4:
- Lab marking: Tutors will mark your completed labs
- Help/assistance with labs/assignment
-
Weeks 5 - 10:
- Lab marking
- Project check-ins: Group mentoring sessions with your tutor
- Weeks 8 + 10: Demonstrations of milestone submissions
Assumed Knowledge
- Confident programmers
- Familiar with C and Python programming concepts
- Able to work in a team
- Git
- Working with others
- Understand basic testing principles
- Understand basic software engineering design principles (DRY, KISS)
Assumed Knowledge
- What we don't assume:
- Knowledge of Java
- Understanding of Object-Oriented Programming
- This is not a Java course
Technical
- VSCode - primary IDE
- Using your own IDE
- Week 1 - get setup
Assessments
Class Mark (10%)
- Tutorial Participation - up to 9 marks available
- Weekly labs:
- Give the skills needed to complete assignment and project
- Enable critical thinking
- Each lab is worth 2 marks
- 25 marks available, class mark is capped at 20.
- Labs are (usually) due the following Monday, 1pm
- Labs released the week prior
- Lab solutions not released, some have retrospective videos
Assignment (15%)
- Due Friday Week 4
- Completed individually
- Spec released end of Week 1
Project (35%)
- Groups of 4 formed within your tutorial
- Groups formed by end of Week 2
- Spec released end of Week 4
- Structure
- Milestone 1: Formative feedback (anytime)
- Milestone 2: Submission of work (Week 8 Monday)
- Milestone 3: Submission of work (Week 10 Monday)
- Measures in place to ensure a difficult group doesn't take a toll on marks
Exam (40%)
- Â Hurdle - must achieve at least 40% in the exam to pass the course
- Tests course concepts taught throughout the term
Course philosophy
- A step up from first year courses
- Challenging but achievable
- Develop skills in time management, teamwork as well as critical thinking
- Highly rewarding
Support
- Supporting you is our job :)
- Help Sessions
- Lots of them with fantastic tutors
- Feedback on work, help with problems, clarifying ideas
- You are expected to have done your own research and debugging before arriving
Support
- Course Forum (Ed)
- Ask questions and everyone can see the answers!
- Make private posts for sharing code
- Response time
- Course Account - cs2511@cse.unsw.edu.auÂ
- Sensitive/personal information
- During the project - your tutor
Title Text
- Go to help sessions for help on concepts
- Post on the forum if you need more immediate lab feedback
- There are no late extensions on labs unless in extenuating circumstances - email cs2511@cse.unsw.edu.auÂ
Support - UNSW
- Special Consideration - https://student.unsw.edu.au/special-considerationÂ
- Equitable Learning Services - https://student.unsw.edu.au/els
Mental Health & Wellbeing
- UNSW Psychology & Wellness - https://student.unsw.edu.au/mhc
- UNSW Student Advisors - https://student.unsw.edu.au/advisors
- Reach out to us at cs2511@cse.unsw.edu.auÂ
- Check in with each other
- Talk to someone
Feedback
- We love feedback :)
- Changes made to the course this term based on constructive student feedback
- We always want to continuously improve
- Feedback form
- Course account
- Student representatives
RespectÂ
- Yourselves, each other, course staff
Let's have a fantastic T3!!!
COMP2511 - 1.1 Admin - Course Overview
By npatrikeos
COMP2511 - 1.1 Admin - Course Overview
- 420