southwales
southwales

southwales

      |      

Subscribers

   Latest lessons

Lecture 46: The entire semester in 46 minutes and 2 seconds - Richard Buckland
00:46:03
southwales
11 Views · 5 years ago

First year computing in summary. Everything we did so far. A lot of what and a bit of why.

Also richard gets rick rolled. The course soundtrack https://wiki.cse.unsw.edu.au/c....s1917cgi/08s1/SoundT And potatoes.

Lecture 45: What makes a good programmer? - Richard Buckland UNSW
00:55:09
southwales
16 Views · 5 years ago

The last week of the first computing course course. In this lecture we start to answer the question "What makes a good programmer?" which students have been asking on the forum for a few weeks (what wonderful students!)

We then consider how this course fits into the whole computing degree and some ideas about life and learning after leaving university. Craftsmanship. Science. Design.

Looking back over what we learned in the course. The first few weeks.

Also: striving to be a good photographer. patterns and trees. never giving up. John Stuart Mill. Brave new World. Henri Cartier Bresson.
Crazy Idea: Ontogeny recapitulates Phylogeny in computing education.

44: Professionalism - Richard Buckland UNSW
01:06:04
southwales
13 Views · 5 years ago

Professionalism and computing. Most students in this course are going to be professionals - but what does that mean? What is a professional? How does it differ from being a non-professional?

Why Microsoft is not evil. Professionalism and engineering. Arthur Andersen and Enron. NASA and the Challenger (1986) and the remarkable Richard Feynman, again. NASA (again) and the Columbia (2003). The Therac-25. Public perception of ethics of various professions (Australian data, Ray Morgan)

Wise advice for professionals who manage projects: One Hundred Rules for NASA Project Managers by Jerry Madden.

Ethics revised. Groundhog day.

What is it to be a master programmer? Solving the right problem. Henri Cartier Bresson. Ansell Adams is a geek.

This is our last (non-examinable) extension lecture. Just for fun. Wrapping up lots of loose threads.

What do nationalism and national anthems have to do with being a good programmer?
Question everything. Being a scholar.

Also, Dane manages to barter his way home, and Theo and Jean-Paul solve the national anthem challenge.

43: Hamming Error Correcting Code - Richard Buckland UNSW
00:38:05
southwales
15 Views · 5 years ago

Hamming codes, parity bits, magic.

Detecting errors when transmitting information. Even better: correcting errors.

Lecture 42: Ethics - Richard Buckland UNSW
00:34:11
southwales
13 Views · 5 years ago

What is important? What are "Ethics"? What does it mean to be a good person?

Whistleblowing. The whistleblowers handbook.

Law. Intellectual property. Copyright. Public Domain. FTA.

41: Sample Tree Code: loop detection - Richard Buckland UNSW 2008
01:04:58
southwales
16 Views · 5 years ago

detecting fixed points in von neumann's simple random number generator. data structure revision. using trees. implementing a very simple tree.

Talk about the anagram lab exercise.

Improving the UNSW 89019 microprocessor. CISC and RISC design. Using memory segments to be able to address more memory.

The bicycle wheel puzzle. Simulation - a neat and simple way to solve complicated problems when you can't be bothered to use/can't rely upon/have completely lost your ability to do complex maths accurately.

mentioned for no apparent reason: GUNNS Limited, Edgar Allen Poe.

40: taste of Graphics - Tim Lambert, Yose Widjaja UNSW
00:34:21
southwales
18 Views · 5 years ago

Tim and Student Yose Widjaja give a taste of the 3rd year graphics course. Yose shows his project for 3d visualisation, and using Ninjas to create and delete 3d pixels.

A demo of a flame simulator done by graphics students as their first assignment on CPU and GPU.

At the end Tim talks a bit about directX vs open gl.

38: Complexity & Trees - Richard Buckland UNSW
00:46:58
southwales
8 Views · 5 years ago

Searching, best worst and expected case. Binary search and insert - linked lists vs arrays. Trees. Ordered binary trees.

3 interesting books: Puzzle Guide to Godel (Raymond Smullyan), Surely you're joking Mr Feynman (Richard Feynman), Alice/Annotated Alice (Lewis Carrol/Martin Gardiner)

Lecture 36: Experimenting with CMOS - Richard Buckland UNSW
00:47:56
southwales
9 Views · 5 years ago

Extension lecture introducing do-it-yourself digital design at home using cmos chips and a breadboard.

Extension lectures are for first year computing students at UNSW. The topics covered are non-examinable, students attend only if they are interested. Richard generally raises more questions than he answers.

Lecture 35: Linked Lists - Richard Buckland UNSW
00:44:28
southwales
13 Views · 5 years ago

Dob in your commie lecturer
http://www.google.com.au/searc....h?q=makeeducationfai http://www.younglibs.org.au
Indirect addressing. Arrays vs lists. Sample code to set up and manipulate a linked list. Doubly linked lists.

Also: The 3-way shuffle to interchange two things. The Wiggles. Robert Sheckley. Stranger than Fiction.

Filming starts during the break, lecture starts at 2:10

Lecture 34: The Australian National Anthem - Richard Buckland UNSW
00:34:04
southwales
9 Views · 5 years ago

Download the Australian National Anthem: http://www.cse.unsw.edu.au/~ri....chardb/nationalAnthe
Advance Australia Fair. The Australian National Anthem challenge.

What is a file? File I/O in C (FILE as an abstract type). Infinite stacks. Memory management, problems with free(). The snake puzzle revisited (linked lists). PBM graphics format.

Are we simulated, real, or just a video on youtube? Sending a message to the creator.

33: Don't give up - Richard Buckland UNSW
01:06:04
southwales
10 Views · 5 years ago

0:00 Richard talks about what a personal trainer does and how old people exercise.
8:00 project Q&A.
27:00 Josephus, whose back story richard discovers from a student. We talk about how to program the Josephus problem. There are many ways we could approach this - we discuss their various merits and sketch out a way of approaching problems like this.

Also: Algorithms vs Data Structures. Wei Hua learns to ride a uni-cycle. The Prisoner #6. The WAV format standard. The Australian national anthem - Advance Australia Fair.

Lecture 32: Steganography (hidden messages) - Richard Buckland UNSW
00:31:47
southwales
13 Views · 5 years ago

Extension lecture introducing steganography (hidden messages). Security via obscurity. Hidden messages in book Godel Escher Bach. In film Starship Troopers. In games. In cryptography. In teaching. Digital watermarking. SETI. Are we in a simulation?

Extension lectures are for first year computing students at UNSW. The topics covered are non-examinable, students attend only if they are interested. Richard generally raises more questions than he answers.

31b: Task2 rewritten as an ADT - Richard Buckland UNSW
00:34:23
southwales
17 Views · 5 years ago

Discussion of the project. Converting sudukoGrid into an ADT.

also: Accessing the components of a struct using dot notation, and using -> notation.

31a: The Major Project - Richard Buckland UNSW
00:30:37
southwales
25 Views · 5 years ago

Discussion of the major project for 1917 this year (2008) - the card game "Blackadder and Baldrick".

The winner of the project grand final playoff gets the title "coolest programmer in first year 2008", and Marvin.

30: Abstract Data Types in C - Richard Buckland UNSW
00:45:07
southwales
12 Views · 5 years ago

Finishes off the ideas started in #29. The need for Abstract Data Types (ADTs). How to implement them in C. Their wonderfulness.

Also: Undocumented features. Can we trust programmers? Allocating memory on the stack. Allocating memory on the heap (malloc/free). Introduction to the project (card game: Blackadder & Baldrick).

Lecture 29: The Trouble with Concrete Types - Richard Buckland UNSW
00:57:23
southwales
8 Views · 5 years ago

The first 17.5 minutes are a discussion of what the task2 diaries revealed: poor time management (eek!) Richard confesses he is bad at time management too and makes some suggestions.

The remainder of the lecture is setting up for ADTs (introduced in the next lecture). Task2 (the sudoku solver) is used as motivation. Why do we want to break the problem into separate quasi-independent files? (A: Metcalf's law) What was the relation between the sudokoGrid type and its interface? What is the subtle problem Richard keeps alluding to with respect to the way this separation was implemented?

Another Richard, or perhaps Alex, comes up with a better way of implementing sudukoGrid.c - is this as wonderful as it seems or have we unearthed a mare's nest? If only there was some way of solving this problem ... (dissolve to lecture 30)

Lecture 28: Random Numbers - Richard Buckland UNSW (2008)
00:42:18
southwales
9 Views · 5 years ago

Extension lecture introducing randomness. What is a random process? How can a deterministic process on a deterministic computer generate random output? Why is randomness useful? What are problems we face when generating random numbers? The lecture introduces Von Neumann's simple algorithm (which we later analyse in labs), and Knuth's Art of Computer Programming. We briefly revisit the triangle problem. Richard amazes and astounds with magic tricks. Some mention of Shaun of the Dead.

Extension lectures are for first year computing students at UNSW. The topics covered are non-examinable, students attend only if they are interested. Richard generally raises more questions than he answers.

27: Stress - Richard Buckland UNSW
01:01:34
southwales
14 Views · 5 years ago

This lecture marks the halfway point of the course.

Dealing with stress, programming errors involving arrays, how to write a reflective diary entry, 2 puzzles which seem unrelated, vampires, zombies, and structs in C

26: Programming in the Large - Richard Buckland UNSW
00:50:33
southwales
14 Views · 5 years ago

How we use standards (called interfaces in this context) to permit us to write large scale computer programs in teams.

Task2 as an example of standards. Writing a new interface function. Writing C unit tests using assert.

Also: strings vs arrays of chars, array initializers for strings, static functions, unit testing.

Show more