CAB201 Programming Principles Overview

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is a valid example of a string in C#?

  • "C# Programming
  • "This is great" (correct)
  • 'C# Programming'
  • This is great

Which weeks of the course are dedicated to Object Oriented Design and Implementation?

  • Weeks 1 - 4
  • Weeks 5 - 15
  • Weeks 11 - 14
  • Weeks 5 - 10 (correct)

What type of data is described as consisting of single characters in the syllabus?

  • Strings
  • Text based
  • Characters (correct)
  • Integers

During which week's agenda is the Final Exam discussed?

<p>Week 13 (C)</p> Signup and view all the answers

The acknowledgements in the syllabus pay respect to which groups?

<p>Aboriginal and Torres Strait Islander peoples (C)</p> Signup and view all the answers

What does a class diagram primarily provide in system design?

<p>A high-level view showing classes and their relationships (D)</p> Signup and view all the answers

How is the quality of a modular decomposition assessed?

<p>Based on its coupling and cohesion (B)</p> Signup and view all the answers

Which statement correctly defines cohesion in the context of modular decomposition?

<p>The extent to which the code within a class is closely related (B)</p> Signup and view all the answers

What is the main benefit of using inheritance in system design?

<p>It allows the reuse of code between similar classes (A)</p> Signup and view all the answers

In which type of diagram do interactions between users and the system get highlighted?

<p>Use Case Diagram (D)</p> Signup and view all the answers

Which data type in programming is used to represent whole numbers?

<p>Numeric Integral (C)</p> Signup and view all the answers

What structure is appropriate for making comparisons using multiple conditions?

<p>if/else statements (C)</p> Signup and view all the answers

In object-oriented design, which of the following is considered when identifying candidate classes?

<p>Abstract concepts (A)</p> Signup and view all the answers

What is the purpose of user stories in software development?

<p>To convey user needs and benefits (B)</p> Signup and view all the answers

Which of the following would NOT be considered a valid boolean value?

<p>1 (D)</p> Signup and view all the answers

When using a switch statement, which data types can be utilized for comparison?

<p>Integers, characters, and strings (A)</p> Signup and view all the answers

Which part of a user story defines the action a user wants to take?

<p>Action (A)</p> Signup and view all the answers

Which programming feature is primarily used for defining enumerated types?

<p>Enum declaration (D)</p> Signup and view all the answers

What is the first piece of information requested from the user?

<p>Name (B)</p> Signup and view all the answers

What should the user do to log in as a registered user?

<p>Select option 7 (C)</p> Signup and view all the answers

What is the correct choice for a user who wants to exit the program?

<p>9 (D)</p> Signup and view all the answers

Which piece of information is NOT requested during the registration process?

<p>Address (B)</p> Signup and view all the answers

What is indicated by the TEQSA Provider ID PRV12079?

<p>Provider registration number (D)</p> Signup and view all the answers

Which statement correctly describes abstract classes?

<p>Abstract classes can contain both abstract and non-abstract methods. (A)</p> Signup and view all the answers

What is a key difference between abstract classes and interfaces?

<p>Classes can implement multiple interfaces but can only inherit from one abstract class. (B)</p> Signup and view all the answers

Which of the following statements about polymorphism is true?

<p>Polymorphism enables classes to define different behaviors for the same method. (C)</p> Signup and view all the answers

Why cannot abstract classes be instantiated?

<p>Because they are meant to serve as a base for other classes. (D)</p> Signup and view all the answers

What is typically true about methods within interfaces?

<p>They must be public by default. (D)</p> Signup and view all the answers

Flashcards

C# Programming

A general-purpose programming language used for creating various applications, often including software and games.

Strings

Sequences of characters, enclosed in quotes, used to represent text.

Characters

Individual letters, numbers, or symbols.

Data Types

Categories that define the kind of values a variable can hold (e.g., text, numbers).

Signup and view all the flashcards

Week 1

Focuses on programming concepts, starting with data types such as strings and characters.

Signup and view all the flashcards

Class Diagram

A high-level system view showing classes, their attributes, methods, and relationships.

Signup and view all the flashcards

Modular Decomposition

Breaking down a program into smaller modules (classes), assessed by cohesion and coupling.

Signup and view all the flashcards

Cohesion

Code within a class is closely related.

Signup and view all the flashcards

Coupling

Minimal interaction between different class code.

Signup and view all the flashcards

Inheritance

One class (child) adopting features of another (parent).

Signup and view all the flashcards

Abstract Classes

Base classes containing methods without code bodies. Cannot be instantiated but can be inherited by other classes.

Signup and view all the flashcards

Abstract Methods

Methods within an abstract class with no implementation, needing a child class to provide a body.

Signup and view all the flashcards

Interfaces

Defining a common set of abstract methods without data. One class can implement many interfaces.

Signup and view all the flashcards

Polymorphism

The ability of an object to take on many forms. Allows different classes to respond differently to the same method call.

Signup and view all the flashcards

Override Methods

Methods within a child class that replicate methods in the parent class; usually providing customized behaviour.

Signup and view all the flashcards

Numeric Data Types

Representing numerical values (integers and floating-point numbers).

Signup and view all the flashcards

Integral Data Type

Stores whole numbers, like 1, 10, 50000

Signup and view all the flashcards

Floating-Point Data Type

Stores numbers with decimal parts, like 3.14, 70.88.

Signup and view all the flashcards

Boolean Data Type

Stores TRUE or FALSE values

Signup and view all the flashcards

Enum Data Type

Stores a fixed set of named constants.

Signup and view all the flashcards

Selection Comparison

Using if, else if, else and switch statements to choose actions based on conditions.

Signup and view all the flashcards

User Story Format

Describing a feature from a user's perspective.

Signup and view all the flashcards

Object-Oriented Design (OOD)

Method for designing programs by creating classes encompassing data and actions.

Signup and view all the flashcards

User Registration

The process of creating a new user account.

Signup and view all the flashcards

Login

The act of verifying a registered user's credentials to access a system.

Signup and view all the flashcards

Patient Registration

Process of recording patient information in a system.

Signup and view all the flashcards

Menu Choice Input

User input to select an action from a presented list.

Signup and view all the flashcards

Exit System

Terminating the session or program.

Signup and view all the flashcards

CAB201

A programming principles unit.

Signup and view all the flashcards

Student Voice Survey

Feedback on Gradescope, lectures, recorded content, Discord, and more.

Signup and view all the flashcards

Student Council Elections

Student voting for representation

Signup and view all the flashcards

Programming Experience

Level of prior programming knowledge.

Signup and view all the flashcards

High-Level Conceptions

Complex programming ideas introduced in CAB201.

Signup and view all the flashcards

Object-Oriented Concepts

Software design emphasizing objects and classes.

Signup and view all the flashcards

2024 Student Elections

Student elections for QUT student government.

Signup and view all the flashcards

QUT Students

Students enrolled at Queensland University of Technology

Signup and view all the flashcards

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.

Quiz Team

Related Documents

More Like This

Object-Oriented Design Principles Quiz
6 questions
Java Programming Principles
18 questions
Use Quizgecko on...
Browser
Browser