Introductory Computer Science - term 2

Course Material and Useful Links

Peter Tino

P.Tino@cs.bham.ac.uk




Lecture Timetable and Handouts

While the handouts are provided as PDF, I will develop most of the ideas on the whiteboard. You should take notes during the lectures.

Week Lecture Lab
1 Sorting algorithms I [PDF] no lab in week 1
2 Sorting algorithms II [PDF] Implement one of the sorting algorithms
3 Implementing sorting algorithms [Insert Sort code] [demo code] Implement one of the sorting algorithms
4 Recursion [PDF] [factorial code] [screen shot for factorial(9)] Implement and study factorial as a recursive function. Implement Fibonacci numbers as a recursive function.
5 Self-similar objects, Koch curve [PDF] [my_line code] [mother_shape code] [run_koch code] Extended lecture, no lab
6 Getting familar with the Koch curve code [my_line code] [mother_shape code] [run_koch code] Understand the Koch curve code, start work on the assignment
7 Extended lab, no lecture work on the assignment
8 Complex systems, Madelbrot and Julia sets [PDF] work on the assignment
9 Getting familar with the Mandelbrot set code [do_mandelbrot code] [run_mandelbrot_levels code] Use Madelbrot set code to create visually appealing images, try different color schemes and transformation maps
10 Getting familar with the Julia set code [do_julia code] [run_julia_levels code] Use Julia set code to create visually appealing images, try different color schemes and transformation maps
11 Extended revision lecture Extended revision lecture




Suggested reading, links and software




Assignment (Deadline: Fri 28 March, 5pm)

Create your own self-similar object that is both visually pleasing and more complex than the basic Koch curve described in lectures and practiced in labs. The object should be composed of several different Koch-type constructions, with varying color schemes.

You should start from detailed understanding of recursive codes for the basic Koch curve: my_line.m, mother_shape.m, run_koch.m

my_line.m is a Matlab code for ploting a line og a given length, at a given angle, from a given satrt position. This is a convenient representation of line drawing for building Koch-type objects.

mother_shape.m is the main Matlab code specifying a recursive function for plotting the basic Koch curve. You will need to play around this function to create more complex Koch-like constructions.

my_line.m is a Matlab code for running a simple Koch curve demo. It iterates through several levels at which the objects are constructed and for each level saves the corresponding images and an .eps file.

After uderstanding the codes for simple Koch curve, design several more complex self-similar objects by modifying the mother_shape.m code. These objects should then be combined into a single, visually pleasing final object. You should explore using different color schemes for different parts of the final object.




Preparing for the exam - Sample Questions




This page is maintained by Peter Tino. Last updated on 16 Jan 2014.