0% found this document useful (0 votes)
8 views

01_Week_Lecture_General (2025AUT)

The document outlines the structure and expectations for a course, including staff roles, assessment methods, and class logistics. It emphasizes the importance of hands-on exercises, pre-work, and participation in quizzes and discussions. Students are encouraged to utilize resources such as GitHub for code management and to seek support through drop-in sessions and online platforms.

Uploaded by

Sethy Bee
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

01_Week_Lecture_General (2025AUT)

The document outlines the structure and expectations for a course, including staff roles, assessment methods, and class logistics. It emphasizes the importance of hands-on exercises, pre-work, and participation in quizzes and discussions. Students are encouraged to utilize resources such as GitHub for code management and to seek support through drop-in sessions and online platforms.

Uploaded by

Sethy Bee
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Week 1

◦ Staff
◦ Link to Industry Needs
◦ Development Environment
◦ GitHub

◦ Class Structure

◦ Assessment
◦ Quizzes
◦ GenAI

◦ In-class exercises (HANDS ON)


 Subject Coordinator & Lecturer
◦ Alen Alempijevic

 Lab Support
◦ Khoa
◦ Adam
◦ Louis
◦ Minh
◦ Nathan
◦ Zhihao
Large Hadron Collider https://static.businessinsider.com/image/582b7a25ba6eb61b008b456d-1200.jpg
 26B Devises Interconnected - System on Chip Devices Explosion

 Beyond Single Monolithic Code (Libraries / Middleware)

 OO Paradigm – More Admissible to Systems


 Code Reuse / Testing / Documentation
 C++ Essential on Many Layers
◦ Android Backbone, Libraries (Python Backend)

 Robotics Jobs (developers) example


 41012 - Highest rated technical subject
(Industry and Alumni, EA Accreditation 2023)

Image Credits to OliverGeary


 Ubuntu 22.04
◦ Azure / WSL / Dual Boot

 Source control : git


 Compilation Toolchain: CMake
 Unit Testing: gtest (Google Test)
 Middleware: ROS2
 Documentation: Doxygen

 IDE: Visual Studio Code


 Accepted github invitation
 Registered repository using Form

 Under Organisation 41012, private repository

 Will make separate announcement


o Once registered decoupled from "fork"
o Will be stated on your github … in progress
o Unregistered repositories deleted on census date
 Lab Session Pre-work
 Tutorial Questions (Starter Code)
 Tutorial Answers (Example Code)
 Skeleton Code for Assignments
 Quizzes (Provided and you submit for marking)

 STRONGLY SUGGEST: Use github repository to back up your


own code
 Readings given (videos & pre-work questions)
◦ View readings, attempt pre-work and come to class
◦ 5 weeks these are marked through quizzes

 We clarify concepts and push forward with examples /


develop evaluative judgement

 We build knowledge base (stratify knowledge) towards


the assignments; more complex layers of understanding
 Face to Face Classes
◦ Hybrid : In lab + online
◦ First 30min-1h review
◦ Then we proceed with exercises (hands on)

 Drop in support
◦ 2 sessions weekly : 1.5h
Mon 14:00-15:30 CB11.B1.101
Fri 17:00-18:30 CB11.04.400

 Additional support on TEAMS


◦ Everyone should chip-in answering queries
◦ Staff will monitor occasionally (once a day)
DUE: Thursday midnight
NO LATE SUBMISSIONS

Git Automated marking through unit tests

4 unit tests provided with quiz


1 unit test circulated after deadline

git add, commit, push Mark from all unit tests

If not on github In class-review (evaluative judgement)


(visible in web
interface) will not
be marked.
 Details of Assessment 1-3 provided on date
noted on Canvas

 DRAFT STAGE
◦ Assignment discussed in class
 FINALISED STAGE
◦ Updated document on canvas
 Lot’s of resources
 Responsive staff
 LARGE learning curve
 Very hands on, quizzes very helpful

 Very hard to catch-up


o (if you don’t work from week 01)
 Challenging assignments - but very rewarding
 Complete readings / attempt pre-work
 Partake with questions in class / zoom
 Attempt quizzes / Revisit quizzes
(recordings of class discussion provided)
 Attend drop-in if you need support
 Use teams to post/answer questions (the
question needs to be targeted so someone
can answer)
Student discuss pre-work (20min)
◦ pointers, arrays, enum
We solve in class (30min)

Tutorial (20min)
◦ functions, structs, vectors
We solve in class (30min)

Larger System (30min)


◦ simulated air-condition controller (no OOP)
We solve in class (20min)
Pointers:
 Can you create a breakpoint and step through the program in
Debug Mode
◦ What are the values of variables when the program starts
◦ See how they change as you move forward
◦ What happens to memory when program terminates

Arrays:
 Why do we need the macro
 How do you program the loop with a pointer, what are we
looping through
 How does the pointer know exactly how much to step (++ )
 What are issues with using arrays

Enums:
 Is it wise to use lower case for Enum type?
 What is operator<<
Structs:
 When is the struct initialized
 What are values of variables before we do the loop
 What does the initializer list achieve

Functions :
 How do we share our Sensor struct with this cpp file?
 What is a declaration and what a implementation file
 Can you use the c++ library that creates a normal distribution?

Vectors
 Where do we specify the data type stored in vector
 What is the difference between size and capacity.
 What does reserve do?
 How are the elements stored in memory?
 Can we delete elements from a vector?
Aircon:
 What does the user need to enter?
 What do we need to assign?

 What can be in functions ?


◦ What needs to be passed to functions
 What needs to be in variables?
 What is in the main loop of execution?

Can you avoid using global space!

You might also like