class: center, middle ### COMP26020 Programming Languages and Paradigms Part 1: C Programming *** # Logistics --- # Part 1/C Organisation **Blended approach**: live sessions + asynchronous videos & exercises
--- # Part 1/C Organisation 1. **Lecture materials**: - Live lecture every Monday 12pm-1pm, located in *Simon Building Lecture Theatre B* - A set of videos to watch every week **after the lecture** -- 2. **Formative assessment** (not graded), every week: - A quiz (theory) - Autocorrected programming exercises (practice) -- 3. **Summative assessment** (marked): 1 lab exercise, to be done on your free time at home and/or on the Department's machines -- 4. **Support sessions** - Come if you have any questions about the lecture materials and formative/summative exercises - Every other week starting week of 30/09, Wednesday 11am-12pm and Thursday 9am-10am in *Kilburn 1.8* --- # Course Website .large[On Blackboard: https://bit.ly/3B70LCE] - **Everything regarding part 1/C can be accessed from there:** - Schedule (what to do each week) - Videos, including live sessions recordings - Lecture notes and lecture slides - Summative lab exercise brief - Formative autocorrected programming exercises - Formative quizzes - Discussion board - Reading list --- # Required Software All programming exercises should be done in a Linux π§x86-64 (i.e. Intel CPU) environment with GCC 10/11/12. Several solutions: - **Use the Department's machines** - **Run Linux in an x86-64 VM** - Grab a VirtualBox VM image here: https://bit.ly/3UGN45i -- - **Install Linux natively on your x86-64 machine** - If you know what you are doing - Ubuntu 22.04 recommended -- - **Do NOT use native Windows/Mac or WSL environments** - Won't provide support on these and you may loose marks because of toolchain difference -- - **MacBooks with non-Intel (i.e. M1) CPUs**: some solutions given next but the general advice is to come on campus and use lab machines --- # Lecture Videos - Videos and slides available on Blackboard: https://bit.ly/3XVrzyV -- - When watching videos/attending lecture, **access the slides for code examples you can run in your browser**: - https://olivierpierre.github.io/comp26020 - You will also find **lecture notes** there -- - Using the bottom-right links you can: - Download the file: click on the blue path - Run it in your browser in a Programiz sandbox
- Get instructions on how to load and run it in a container that should run on Mac/Windows by clicking on the GitHub logo
```c #include
int main() { printf("hello, world!\n"); return 0; } ``` .codelink[
`00-logistics/sample-code.c`
] --- # Feedback on Lectures - Each slides deck ends with a link to a small feedback form - It's fully optional and anonymous, feel free to use it to tell what you think about the lecture in question - Your feedback will help to make the course better!
--- # Lab Assignment (marked) - Subject is already on Blackboard: https://bit.ly/3ZsgPZH - Development of a matrix processing library in C - Weight: 6.5% of the final COMP26020 mark - **50/50 coursework/exam weight split for the C part** --- # Autocorrected Programming Exercises (not marked) - A few exercises per week: - Divided into **essential** and **additional** exercises - You should really try at least to do the essentials -- - Autocorrected with `check50` - To trigger autocorrection, have your source code in the local folder and type on the command line: ```bash check50 -l --ansi-log
``` - URL is per-exercise, given on the page of each exercise -- - Accessible from the website, along with instructions on how to install `check50`: https://olivierpierre.github.io/comp26020/exercise-set-1.html --- # Quizzes - A small quiz to complete each week, after having seen all the lecture materials - On Blackboard: https://bit.ly/47qB4sV - Formative (unmarked) --- background-image: url(include/plagiarism.png) --- # How to Get Help? - Any question? in increasing order or urgency: - Step 1: come to the next support session - Step 2: discussion boards on Blackboard - https://bit.ly/3TuORsC - **Do not post answers there!** - Step 3 or if urgent: [pierre.olivier@manchester.ac.uk](mailto:pierre.olivier@manchester.ac.uk)