Podcast
Questions and Answers
What is a valid example of a string in C#?
What is a valid example of a string in C#?
Which weeks of the course are dedicated to Object Oriented Design and Implementation?
Which weeks of the course are dedicated to Object Oriented Design and Implementation?
What type of data is described as consisting of single characters in the syllabus?
What type of data is described as consisting of single characters in the syllabus?
During which week's agenda is the Final Exam discussed?
During which week's agenda is the Final Exam discussed?
Signup and view all the answers
The acknowledgements in the syllabus pay respect to which groups?
The acknowledgements in the syllabus pay respect to which groups?
Signup and view all the answers
What does a class diagram primarily provide in system design?
What does a class diagram primarily provide in system design?
Signup and view all the answers
How is the quality of a modular decomposition assessed?
How is the quality of a modular decomposition assessed?
Signup and view all the answers
Which statement correctly defines cohesion in the context of modular decomposition?
Which statement correctly defines cohesion in the context of modular decomposition?
Signup and view all the answers
What is the main benefit of using inheritance in system design?
What is the main benefit of using inheritance in system design?
Signup and view all the answers
In which type of diagram do interactions between users and the system get highlighted?
In which type of diagram do interactions between users and the system get highlighted?
Signup and view all the answers
Which data type in programming is used to represent whole numbers?
Which data type in programming is used to represent whole numbers?
Signup and view all the answers
What structure is appropriate for making comparisons using multiple conditions?
What structure is appropriate for making comparisons using multiple conditions?
Signup and view all the answers
In object-oriented design, which of the following is considered when identifying candidate classes?
In object-oriented design, which of the following is considered when identifying candidate classes?
Signup and view all the answers
What is the purpose of user stories in software development?
What is the purpose of user stories in software development?
Signup and view all the answers
Which of the following would NOT be considered a valid boolean value?
Which of the following would NOT be considered a valid boolean value?
Signup and view all the answers
When using a switch statement, which data types can be utilized for comparison?
When using a switch statement, which data types can be utilized for comparison?
Signup and view all the answers
Which part of a user story defines the action a user wants to take?
Which part of a user story defines the action a user wants to take?
Signup and view all the answers
Which programming feature is primarily used for defining enumerated types?
Which programming feature is primarily used for defining enumerated types?
Signup and view all the answers
What is the first piece of information requested from the user?
What is the first piece of information requested from the user?
Signup and view all the answers
What should the user do to log in as a registered user?
What should the user do to log in as a registered user?
Signup and view all the answers
What is the correct choice for a user who wants to exit the program?
What is the correct choice for a user who wants to exit the program?
Signup and view all the answers
Which piece of information is NOT requested during the registration process?
Which piece of information is NOT requested during the registration process?
Signup and view all the answers
What is indicated by the TEQSA Provider ID PRV12079?
What is indicated by the TEQSA Provider ID PRV12079?
Signup and view all the answers
Which statement correctly describes abstract classes?
Which statement correctly describes abstract classes?
Signup and view all the answers
What is a key difference between abstract classes and interfaces?
What is a key difference between abstract classes and interfaces?
Signup and view all the answers
Which of the following statements about polymorphism is true?
Which of the following statements about polymorphism is true?
Signup and view all the answers
Why cannot abstract classes be instantiated?
Why cannot abstract classes be instantiated?
Signup and view all the answers
What is typically true about methods within interfaces?
What is typically true about methods within interfaces?
Signup and view all the answers
Study Notes
Course Information
- Course name: CAB201 - Programming Principles
- Course code: CAB201
- Faculty: Faculty of Science
- School: School of Computer Science
Week 13 Overview
- Syllabus/Agenda for course
- Acknowledgment of Traditional Owners
- Agenda topics include: Writing C# Code (Weeks 1-4), Object Oriented Design and Implementation (Weeks 5-10), Final Exam, Test Description, and Practice Test.
- Week 1: Data and Types (Text based, Numeric, Booleans, Enums)
- Week 2: Selection Comparison (if/else/else if, switch, Boolean, Range )
- Week 2: Iteration Comparisons (For Loop, While/do while)
- Week 3: Methods (Methods as a sequence of instructions, part of larger problems, correct, robust, efficient methods. Extract method instead of repeat lines. Passing parameters by value, reference and out, Reduction of errors.)
- Week 3: Collections (Multiple values of same type, one and multidimensional arrays, parallel arrays, array methods - sort, reverse search, Lists similar to dynamic length arrays, Dictionary as key-value pairs)
- Week 4: Files and I/O (Find information about directories and files, Stream.Reader, Stream.Writer, Using Guarantees closing files properly )
- Week 5: Object Oriented Design and Implementation (Classes, fields, methods, properties, templates, and constructor)
- Week 5 : Object instantiation (using new keyword in classes)
- Week 5: Abstraction vs Encapsulation
- Week 5: Visibility and Encapsulation
- Week 5: Static classes and methods
- Week 5: Method Overloading
- Week 6: Object Oriented Design (Harder programming problem solving, breaking down problems into smaller parts, relating how different classes interact, ensuring the solution remains valid over time, writing high-quality code)
- Week 6: User Stories (Address user needs, less likely to change over time, examples like TV to Netflix, expressing user requirements in user stories)
- Week 6: User Stories (Describing user needs, as a user I want to...)
- Week 6: Object-Oriented Design (identifying classes, and verbs)
- Week 6: UML Diagrams (Class, Use Case, Sequence, and Collaboration Diagrams)
- Week 6: Modular Decomposition (Modular code decomposition, assessing code quality based on cohesion and coupling.)
- Week 7: Inheritance (Similar classes, Inheritance allows a class to inherit from another class, child classes and use, advantages of using inheritance, using the base keyword in constructor)
- Week 7: Protected Visibility
- Week 8: Polymorphism (Common syntax with different outcomes in different contexts)
- Week 8: Polymorphism (Static or compile time, dynamic or run time method overloading, operator overloading, method overriding)
- Week 8: Operator Overloading
- Week 8: Overriding Class, new method, abstract, virtual
- Week 8: Dynamic Dispatch (How objects determine methods)
- Week 8: Abstract Classes (Polymorphism and abstract methods, properties and fields, creating instances of abstract classes)
- Week 8: Interfaces (Abstract classes, but use only abstract methods and static fields)
- Week 9: Testing (Different kinds of testing)
- Week 9: System Testing (Testing example with input and output comparison)
- Week 9: Unit Testing
- Week 10: SOLID Principles (Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle)
- Final Exam Information (Multiple Choice, random order, each question worth 1 point,)
Exam Information
- 40 Multiple Choice Questions.
- Focus on Weeks 1-10 and especially Weeks 5-10 and SOLID principles
- Invigilated and closed book exam
- Exam time and location details available from AskQUT.
- Practice test available.
Other Information
- Student Voice Survey: Request for feedback about Gradescope, Live Lectures, recorded materials, Discord/Peer Feedback, and Simulate.
- QUT Student Elections (2024): 1.35% student voting rate, 6731 votes cast.
- Important Tips (General advice)
- Course Conclusion
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the syllabus for CAB201 - Programming Principles, highlighting key topics including C# coding, object-oriented design, and methods. Prepare for the final exam with insights into iterative comparisons, data types, and collections. This overview is essential for mastering the course content.