Web
Analytics
 

Recorded Lectures 2020

Table of Contents

1 Lecture 1 – Introduction to course organisation, C-bootstrap labs kick-off

Slide set

(If anyone wonders why my face is half-cropped out, it is because the stupid recording feature on Zoom overlaid the participant window over my face, showing some students’ cameras during the lecture.)

2 Lecture 2 – C-bootstrap lab review

  • Assignment
  • Loops
  • Importance of readability
  • Mental models for programming
    • Substitution model (works well with lots of pure functional programming)
    • Platter model + graph paper model (works well with imperative C programming)

Slide set

3 Lecture 3 – Pointers and dynamic memory management

  • Memory
    • Stack
    • Heap
  • Pointers and pointer variables
  • Dynamic memory management
  • Sneak peak at linked structures

Slide set

4 Lecture 4 – Hur kursen fungerar, mål, redovisningar, projektarbete, etc., etc.

Slide set

Föreläsningen i 1.25\(\times\) fart:

5 Lecture 5 – Dynamic memory management, pointers, linked data structures

6 Lecture 6 – End of linked structures series

7 Lecture 7 – Introduction to Software Testing

7.1 Regular Lecture

7.2 Bonus Material (that did not fit the original lecture slot)

Instead of recording the bonus material, I fleshed out the slides instead to be more self-contained (bonus material covers from “coverage” onwards).

Slide set

8 Lecture 8 – Design and abstraction, bottom-up and top-down

Slide set (bonus material covers slides 61–72)

9 Lecture 9 – Automatisering, profilering och optimering

Coming soon

Slide set

10 Lecture 10 – Abstraktion, modularisering och informationsgömning

11 Lecture 11 – Skriva bra kod och Defensiv programmering

12 Lecture 12 – Bitmanipulering och preprocessorn

13 Lecture 15 (!) – Från C till Java

14 Lecture 16 – Skillnader mellan C och Java

Slide set (Samma som föreläsning 15, från bild 40-)

15 Lecture 17 – Objektorienterad analys och design, konstruktorer, instantiering, referenser, klassvariabler, etc.

16 Lecture 18 – Objektorienterad analys och design, konstruktorer, instantiering, referenser, klassvariabler, etc.

17 Lecture 19 – Objektorienterad analys och design, konstruktorer, instantiering, referenser, klassvariabler, etc.

17.1 Part 1

17.2 Part 2

18 Lecture 20 – Liskovs substitutionsprincip, ekvivalens, identitet, overriding, overloading, exceptions

19 Lecture 21 – Testning och JUnit

20 Lecture 22 – Under huven på JVM. Bytekod. JIT. Reflection. Profiling.

21 Lecture 23 – Refactoring

22 Lecture 24 – Skräpsamling

TODO

Slide set

23 Lecture 24 – Projektet och fas 3 samt början på slutet

TODO

Slide set

24 Screencasts

24.1 Linked lists

I apologise in advance for the high resolution of this video. I hope it is possible to view anyway, but most certainly not on a small screen. In the, I will try to avoid making this mistake again in the future.

The code written during the screencast.

24.2 FreqCount.java

Av någon anledningen låter jag som en smurf. Något blev knas med ljudet.


Questions about stuff on these pages? Use our Piazza forum.

Want to report a bug? Please place an issue here. Pull requests are graciously accepted (hint, hint).

Nerd fact: These pages are generated using org-mode in Emacs, a modified ReadTheOrg template, and a bunch of scripts.

Ended up here randomly? These are the pages for a one-semester course at 67% speed on imperative and object-oriented programming at the department of Information Technology at Uppsala University, created by Tobias Wrigstad.

Author: Tobias Wrigstad

Created: 2020-12-03 tor 02:36

Validate