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

Course Intro

This document provides an introduction to the COMP1521 course taken at UNSW. It outlines the course staff, background knowledge expected of students, course goals, themes, systems and tools used, structure of lectures, tutorials, labs, tests and assignments. It discusses the textbook, emphasizes developing a deep understanding of how computer systems and software work, and covers the code of conduct including policies on plagiarism.

Uploaded by

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

Course Intro

This document provides an introduction to the COMP1521 course taken at UNSW. It outlines the course staff, background knowledge expected of students, course goals, themes, systems and tools used, structure of lectures, tutorials, labs, tests and assignments. It discusses the textbook, emphasizes developing a deep understanding of how computer systems and software work, and covers the code of conduct including policies on plagiarism.

Uploaded by

John Wu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

COMP1521 23T1 — Course Introduction

https://www.cse.unsw.edu.au/~cs1521/23T1/

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 1 / 27


COMP1521 Staff

Convenor Andrew Taylor


Lecturer Andrew Taylor
Admin Dylan Brotherston, Abiram Nadarajah
Tutors Dylan Brotherston, Erin Leavy, Luke Fisk-Lennon, James Jiang, Rosanna Liu, Anna Brew, Michelle Wong,
Mae Vuong, Abiram Nadarajah, Aisha Nauman, Leonard Chiang, Catherine Liew, Hanan Hassan, Jason
Codd, Joshua Sotomayor, Raymond Li, Jack Li, Abby Lin, Ethan Haffenden, Xavier Cooney, Cassandra
Eliot, Derek Xu, Meredith Zhang, Isabel Wee, Amy Tian, Jessica Xu

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 2 / 27


COMP1521 Student Background

Most students in this course have completed

COMP1511 or COMP1911

COMP1511 and COMP1911 coves fundamental C programming.

COMP1511 also covers topics, e.g. linked lists, ADTs not needed for COMP1521.

For this week’s tuts and labs:

review/strengthen assumed C knowledge


cover some small things not covered in COMP1511

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 3 / 27


Assumed Knowledge C knowledge

Assumed knowledge —

design an algorithmic solution

describe your solution in C code, using …

variables, assignment, tests (==, !, <=, &&, etc)

if, while, scanf(), printf()

functions, return, prototypes, *.h, *.c

arrays, structs, pointers, malloc(), free()

Not assumed knowledge —

linked structures, ADTs, sorting,


recursion, bit operations, file operations
recursion and for loops will be covered in week 1 tutorials

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 4 / 27


Course Goals

COMP1511/1911 …

gets you thinking like a programmer

solving problems by developing programs

expressing your solution in the C language

COMP1521 …

gets you thinking like a systems programmer

with a deep understanding of run-time behaviour

and better able to reason about your C programs

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 5 / 27


COMP1511/1911 vs COMP1521

COMP1511/1911 …

Figure 1: COMP1511/1911

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 6 / 27


COMP1511/1911 vs COMP1521

COMP1521 …

Figure 2: COMP1521

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 7 / 27


COMP1511/1911 vs COMP1521

or maybe …

Figure 3: COMP1521

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 8 / 27


Course Context

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 9 / 27


Themes

Major themes …
1 software components of modern computer systems
2 how computer represent data including integers & floats
3 how C programs execute (at the machine level)
4 how to write (MIPS) assembly language
5 how operating systems are structured
6 Unix/Linux system-level programming particularly file operations
7 introduction to processes, thread and concurrency

Goal: you are able to understand execution of software in detail.

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 10 / 27


Textbook

There is no prescribed textbook for COMP1521.


Recommended reference …
Computer Systems: A Programmer’s Perspective,
Bryant and O’Hallaron
covers most topics, and quite well
but uses a different machine code
Available in UNSW Bookshop

Figure 5: Computer Systems A Programmer’s Perspective

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 11 / 27


Textbook

Course Material has been drawn from

Introduction to Computing Systems:


from bits and gates to C and beyond,
Patt and Patel

The Elements of Computer Systems:


Building a modern computer system from first principles,
Nisan and Schocken

COMP2121 Course Web Site, Parameswaran and Guo

Past COMP1521 lecturers, admin, and tutors

Always give credit to your sources!

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 12 / 27


Systems and Tools

Prac work based on Linux tools

all tools available on the CSE lab machines (Debian Linux)


can use VLAB or SSH to connect to CSE from home

Compilers: dcc on CSE machines (clang or gcc elsewhere)

Assembly language: mipsy (mipsy_web for GUI)

Use your own favourite text editor: ed, vim, emacs, nano, gedit, vscode, etc.

Other tools: make, man, bc -ql, python3, etc.

Learn to love the shell and command-line … very useful!

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 13 / 27


Lectures

Monday, 13:00—15:00; Thursday, 15:00—17:00;


delivered via YouTube, starting week 1, and every week after (except week 6)

you will receive emails about how to access each lecture

feel free to ask questions via chat

lectures recorded and linked from course home page.

Easter means we miss a lecture on Monday week 9

We will hold the lecture at a different time, or pre-record it (TBA)

present a brief overview of theory

focus on practical demonstrations of coding

demonstrate problem-solving (testing, debugging)

lecture slides available on the web before lecture.

might have guest lecturers by Dylan and Abiram.

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 14 / 27


Tut-labs

COMP1521 has 3-hour tut-labs, starting week 1, and every week after (except week 6)

Our first tut-labs are immediately after this lecture

Easter means no classes Friday week 8 and Monday week 9

An alternative time for your class will be arranged by your tutor

6 of our 26 classes are online

delivered via Blackboard Collaborate (accessed via Moodle)

the remaining timeslots are face-to-face classes

please follow UNSW policy: https://www.covid-19.unsw.edu.au/

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 15 / 27


Tutorials

To get the best out of tutorials …

attempt the problems yourself beforehand

not marked, and no submission

but you will learn more if you try the problems yourself

ask if you don’t understand a question or how to solve it

Do not keep quiet in tutorials: talk, discuss, ask question

Your tutor may ask for your attempt to start a discussion.

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 16 / 27


Labs

Each tutorial is followed by a two-hour lab class.

Several exercises, mostly small coding tasks

Build skills needed for assignments, exam

Done individually

Submitted via give, before Monday 12:00 (midday)

Automarked (with partial marks) — 15% of final mark

Labs may include challenge exercises …

may be silly, confusing, or impossibly difficult

almost full marks (95+%) possible


without completing any challenge exercises

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 17 / 27


Tests

From week 3, and every week after (including week 6):

released on Thursday 5pm (after the lecture)

due exactly one week later

Submitted via give

immediate reality-check on your progress.

done in your own time under self-enforced exam conditions.

time limit of 1 hour

can keep working after hour for 50% of mark

automarked (with partial marks)

best 6 of 8 tests contribute 10% of final mark

any violation of test conditions


⇒ zero for whole component

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 18 / 27


Assignments

Ass1: Assembly (MIPS) Programming, weeks 4–7, 15%

Ass2: C Systems Programming, weeks 7–10, 15%

Assignments give you experience with larger programming problems than lab exercises

Assignments will be carried out individually.

They always take longer than you expect.

Don’t leave them to the last minute.

Standard UNSW late penalties apply, 5% per day for 5 days.

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 19 / 27


Code of Conduct

CSE offers an inclusive learning environment for all students.

In anything connected to UNSW, including social media,


these things are student misconduct and will not be tolerated:

racist/sexist/offensive language or images

sexually inappropriate behaviour

bullying, harassing or aggressive behaviour

invasion of privacy

Show respect to your fellow students and the course staff

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 20 / 27


Plagiarism

Cheating of any kind constitutes academic misconduct and carries a range of penalties.
Please read course intro for details.

Examples of inappropriate conduct:

groupwork on individual assignments (discussion OK)

allowing another student to copy your work

getting your hacker cousin to code for you

purchasing a solution to the assignment

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 21 / 27


Plagiarism

Labs, Tests, and Assignments must be entirely your own work.

You can not work on labs, tests, or assignments as a pair or in a group.

Plagiarism will be checked for and penalized.

Plagiarism may result in suspension from UNSW.

Scholarship students may lose scholarship.

International students may lose visa.

Supplying your work to any another person may result in


loss of all your marks for the lab/assignment.

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 22 / 27


Use of Generative AI Tools

Generative AI tools, e.g. github copilot, chatGPT have great potential to assist coders

Code they generate often has subtle errors & security vulnerabilities

also often generate poor code

expert coders (hopefully) can spot these problems

need a deep understanding of language/system to make good use of these tools

COMP1521 students don’t yet have this understanding

Use of tools copilot, chatGPT may slow you getting this understanding

Use of generative AI tools including github copilot, chatGPT not permitted in COMP1521

later course will likely allow use of these tools

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 23 / 27


Plagiarism

Labs, Tests, and Assignments must be entirely your own work.

You can not work on labs, tests, or assignments as a pair or in a group.

Plagiarism will be checked for and penalized.

Plagiarism may result in suspension from UNSW.

Scholarship students may lose scholarship.

International students may lose visa.

Supplying your work to any another person may result in


loss of all your marks for the lab/assignment.

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 24 / 27


Final Exam

in-person 3-hour practical exam: in CSE labs, on CSE lab computers

students who are outside of Australia for the entirety of the term will be offerred alternative online exam
just becasue you are in an online Tutorial does not mean you have an online exam

limited environment: you get the tools and software of a lab computer, not your own computer

You don’t get access to your normal CSE account, so no custom configuration files

may be some multiple-choice/short-answer questions, similar to tut questions.

most questions will ask you to read C or assembler

most marks for questions which ask you to write C or assembler

also may ask you to answer written questions

you must score 18+/45 (40%) on the final exam to pass course

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 25 / 27


Assessment

15% Labs
10% Tests
15% Assignment 1 — due start of week 7
15% Assignment 2 — due end of week 10
45% Final Exam

Above marks may be scaled to ensure an appropriate distribution

To pass, you must:

score 50/100 overall


score 18/45 on final exam

For example:

55/100 overall, 17/45 on final exam ⇒ 55 UF not 55 PS

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 26 / 27


How to Pass this Course

coding is a skill that improves with practice

the more you practice, the easier you will find assignments/exams

do the lab exercises

do the assignments yourself

practice programming outside classes

treat extra tutorial questions like a mini prac exam

https://www.cse.unsw.edu.au/~cs1521/23T1/ COMP1521 23T1 — Course Introduction 27 / 27

You might also like