A Scheme Workshop - PowerPoint PPT Presentation

About This Presentation
Title:

A Scheme Workshop

Description:

Help you make an informed decision on whether to choose between CS1101 ... Module Synopsis (i.e. what to expect) What your seniors say. Brief History of CS1101S ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 36
Provided by: BenL87
Category:
Tags: scheme | workshop

less

Transcript and Presenter's Notes

Title: A Scheme Workshop


1
A Scheme Workshop
  • Ben Leong
  • NUS School of Computing
  • 31 July 2007

2
Welcome to SoC
  • Help you make an informed decision on whether to
    choose between CS1101 and CS1101S
  • NOT to teach you Scheme ?
  • About which class is more suitable for YOU
  • NOT about which is better.

3
Overview
  • Whats Scheme?
  • Why Scheme?
  • Module Synopsis
  • (i.e. what to expect)
  • What your seniors say

4
Brief History of CS1101S
  • The language Scheme was designed 25 years ago at
    MIT to teach programming methodology
  • The success of the MIT programming methodology
    module led to its adoption in many universities
    worldwide
  • Scheme was first introduced at NUS 10 years ago
  • I took this class at MIT in 1994. ?

5
Objectives
  • Teach Scheme as a programming language
  • Teach programming concepts
  • Inspire CONFIDENCE in students that ANYTHING can
    be solved if they try hard enough
  • Teach students
  • Computational Thinking

NOT!
TO THINK ?
6
Introduction to Scheme
  • Scheme is expression oriented. Type an expression
    and its result will be printed out.
  • Works with a variety of types of numbers
    integers (both positive and negative), fractions
    (rational numbers), and real numbers

7
Introduction to Scheme
  • Expressions use prefix notation.
  • Use ( 2 3) instead of (2 3)
  • Use ( ( 2 3) (- 3 1)) instead of (23)(3-1)
  • There is a wealth of predefined functions
  • sqrt computes the square root of its argument.
  • is also a predefined function

8
Why Scheme?
  • Teaching a language is futile
  • (Here today, gone tomorrow)
  • Scheme is simple as a language
  • So we can focus on the CONCEPTS instead of clunky
    language rules
  • Lets see for ourselves..

9
Recursion
  • Express (divide) a problem into smaller similar
    problems
  • Solve the problem for a simple (base) case
  • We are done (!)
  • Similar to
  • Mathematical Induction

10
The Towers of Hanoi
  • We have 3 pegs and a set of discs, all of
    different diameters.
  • Objective move the pile of discs to last peg,
    by
  • moving 1 disc at a time from 1 peg to another
  • never placing a disk on top of another disc with
    smaller diameter.
  • Suppose you have not 3, but n discs

11
The Towers of Hanoi
  • We must start somewhere.
  • Suppose we have one disc .
  • What if there are no discs?
  • Nothing to do!
  • Base case

12
The Towers of Hanoi
  • We notice the following pattern if we want to
    move n disks from peg a to peg c using peg b as
    intermediary storage, then we
  • assume we know how to move n-1 disks to peg b,
    using peg c as intermediary storage
  • we move disk n from a to c
  • we move n-1 disks from b to c, using a as
    intermediary storage.
  • RECURSION

13
The Towers of Hanoi
  • (define (move-tower size from to extra)
  • (cond (( size 0) t)
  • (else
  • (move-tower (- size 1) from extra to)
  • (print-move from to)
  • (move-tower (- size 1) extra to from))))
  • (define (print-move from to)
  • (newline)
  • (display "move top disk from ")
  • (display from)
  • (display " to ")
  • (display to))

14
CS1101S Programming Methodology (Scheme)
  • Lectures
  • Wed 10am-12pm, Fri 11am-12pm, LT15
  • Recorded for webcast
  • Recitations 1 hr/wk
  • Two or three groups Prob Thurs, Venue TBA
  • Discussion Groups 2 hr/wk
  • Three or four groups TBA
  • Bid for group in CORS

15
Teaching Staff
  • Lecturer Dr. Ben Leong, benleong_at_comp.nus.edu.s
    gOffice S14 06-14
  • Phone 6516-4240
  • Hours TBA, or by appointment
  • Undergraduate Discussion Group Leaders

16
Syllabus (in Brief)
  • Numeric computations in Scheme
  • Building recipes with functions
  • Recursion
  • Data structures lists, trees
  • Memoization Dynamic Programming
  • Generic operations
  • Object oriented abstractions
  • Java
  • Covers core concepts of computer programming

17
Textbook SICP
  • FREE!!
  • Available online at http//mitpress.mit.edu/sicp/f
    ull-text/book/book.html

18
Supplementary Text
  • ALSO FREE!!
  • Available online at http//gustavus.edu/max/concr
    ete-abstractions-pdfs/index.html

19
Scheme Interpreter
  • We will be using DrScheme
  • Its FREE!!!
  • Download from
  • http//www.drscheme.org/

20
Assessment Overview
  • Tutorial participation 10
  • Problem sets 30
  • Midterm exam 15
  • 3 Oct 2007 (Wed) 10am-12 pm
  • Practical exam 15
  • 7 Nov 2007 (Wed) 10am-12 pm
  • Final exam 30
  • 26 Nov 2007 (Mon) Morning

21
Tutorial Participation (10)
  • Questions will usually be given out prior to the
    recitations/discussion groups, sometimes not
  • Assessed mainly by tutors, with some inputs from
    lecturer from interactions during recitations
    lectures
  • You need to be active, participate by offering
    solutions, making comments and asking questions.

22
Midterm and Final Exams (15 30)
  • Standard fare 2 hours each
  • Will test concepts, NOT memory
  • Open-sheet
  • 1 x A4 sheet of notes allowed for midterm
  • 2 x A4 sheet of notes allowed for finals
  • Sample midterms available on IVLE
  • Sample finals available from Library

23
Problem Sets (30)
  • Seven problem sets
  • Due approximately once every two weeks
  • Graded by the Undergraduate Tutors
  • Crucial for learning the material in this class
  • This is effectively the lab component of the
    class

24
Practical Exam (15)
  • Test of the Pudding
  • At the completion of Scheme syllabus
  • 2 hours to solve three programming problems of
    increasing difficulty
  • Sample exams available on IVLE

25
Other Highlights
  • Will build a Lego Mindstorm robot in the middle
    of the Semester
  • Regular Programming Contests to keep students
    challenged

26
CS1101S vs. CS1101
  • Progression CS1101S ? CS1102S CS1101 ?
    CS1102
  • Two-semester sequence
  • Discouraged from crossing over
  • CS1101S ? CS1102, CS1101 ? CS1102S
  • Similarities
  • S and non-S versions both teach basic programming
    principles

27
CS1101S/02S vs. CS1101/02
  • Differences
  • CS1101S/02S cover more advanced topics
  • More challenging
  • CS1102S covers Java more
  • Good introduction to many computer science topics

28
Which to take?
  • Take CS1101S/02S if you want to be challenged.
  • If you have programmed before
  • No real advantage
  • In fact, can be a disadvantage!
  • If you have never programmed before
  • Great! You are not at a disadvantage.
  • Keep an open mind.
  • Some evidence show that female students cope
    better with Scheme than Java.

29
Java vs Scheme Whats the Tradeoff?
  • Java
  • sophisticated, mature
  • can be used for commercial applications
  • but has many underlying concepts that a beginner
    may find hard to understand
  • Scheme
  • simple, elegant
  • easy to learn (hard to master)
  • designed to illustrate the concepts
  • will eventually learn Java anyway.
  • Mainly a question of personal choice (taste?)

30
What your seniors say.
  • I think Scheme really does bring about concepts
    easily. Java's messy, so messy for an amateur
    programmer.
  • (on Problem Sets) They are all very difficult,
    but some are killers.
  • I learnt a tiny bit of java before I attended
    this class and I was totally lost. Teaching
    introduction to programming in Scheme is a quite
    smart idea. I feel much better when I came back
    to Java at the end of this class.
  • What doesnt kill you makes you strong

31
What your seniors say.
  • I was warned by my seniors not to take scheme
    because they said it was very tough .... now when
    Ive done this module , I agree that it is
    tough.. but it is worth the effort ..scheme makes
    u smarter !!! )
  • Do you agree that Scheme is easier than Java?
    32 NO 68 YES!
  • Luv the class, luv the company of students, luv
    the interaction with teachers, bla bla bla...
    Scheme's cool
  • I think we need more classmates ?

32
More comments here .
  • http//www.comp.nus.edu.sg/bleong/
  • teaching/cs1101s06-midterm.htm
  • http//www.comp.nus.edu.sg/bleong/
  • teaching/cs1101s06-final.htm
  • Just Google cs1101s survey!!!

33
Words of Advice
  • Dont worry about the curve
  • Scheme is easier (or so I would claim), but
    doesnt mean that CS1101S is an easier class
  • Take CS1101S still have to learn Java. so it is
    definitely more work
  • Have to be prepared to work very hard in CS1101S

34
QUESTIONS
35
THANKYOU
Write a Comment
User Comments (0)
About PowerShow.com