Fifteen Hundred Students A Year Prabhakar Ragde (University of - - PowerPoint PPT Presentation

fifteen hundred students a year
SMART_READER_LITE
LIVE PREVIEW

Fifteen Hundred Students A Year Prabhakar Ragde (University of - - PowerPoint PPT Presentation

Fifteen Hundred Students A Year Prabhakar Ragde (University of Waterloo) University of Waterloo Faculty of Mathematics 1500 students a year Racket How? Lessons? What next? Some history... CS 2 CS 1 elem data programming


slide-1
SLIDE 1

Fifteen Hundred Students A Year

Prabhakar Ragde (University of Waterloo)

slide-2
SLIDE 2
slide-3
SLIDE 3
slide-4
SLIDE 4

University

  • f Waterloo
slide-5
SLIDE 5

Faculty of Mathematics

slide-6
SLIDE 6

1500 students a year

slide-7
SLIDE 7

Racket

slide-8
SLIDE 8

How? Lessons? What next?

slide-9
SLIDE 9

Some history...

slide-10
SLIDE 10

CS 1 programming CS 2 elem data structures, algorithms

slide-11
SLIDE 11

1988: Pascal

slide-12
SLIDE 12

1998: Java

slide-13
SLIDE 13

CS 1 programming CS 2 elem data structures, algorithms

slide-14
SLIDE 14

CS 1 programming CS 2 elem data structures, algorithms CS 1 programming at half-speed

slide-15
SLIDE 15

2004: PLT Scheme

slide-16
SLIDE 16

functional programming imperative programming

slide-17
SLIDE 17

2008: no Java

slide-18
SLIDE 18

PLT Scheme (regular) Scheme/C PLT Scheme (simpler) Scheme/ Python

slide-19
SLIDE 19

Benefits

slide-20
SLIDE 20

Benefit: simple syntax

slide-21
SLIDE 21

Benefit: simple semantics

slide-22
SLIDE 22

Benefit: language levels

slide-23
SLIDE 23

Benefit: early CS content

slide-24
SLIDE 24

Benefit: proper design process

slide-25
SLIDE 25

Problems

slide-26
SLIDE 26

Problem: counter- revolution

slide-27
SLIDE 27

Problem: indifference of curriculum

slide-28
SLIDE 28

Problem: brittle 2nd course

slide-29
SLIDE 29

functional programming imperative programming

slide-30
SLIDE 30

The future

slide-31
SLIDE 31

#lang racket/bsl

slide-32
SLIDE 32

(require 2htdp/image)

slide-33
SLIDE 33

(provide my-function)

slide-34
SLIDE 34

HtDP/2e

slide-35
SLIDE 35

Advanced stream

slide-36
SLIDE 36

Racket (advanced) C (advanced)

slide-37
SLIDE 37

data Nat = Z | S Nat plus x Z = x plus x (S y) = S (plus x y)

slide-38
SLIDE 38

recursion induction invariants

slide-39
SLIDE 39

O, Ω, Θ

λ

scope

slide-40
SLIDE 40

binary, 2’s comp Braun, AA trees CPS

slide-41
SLIDE 41

Racket (advanced) C (advanced)

slide-42
SLIDE 42

Scribble

slide-43
SLIDE 43

#lang scribble/base @(require "slide-utilities.rkt" (for-label racket)) @title[#:style @slide-title-style] {Fifteen Hundred Students A Year} @author{Prabhakar Ragde (University of Waterloo)} @white-on-black @frame{ @image["US-map.pdf" #:scale 0.6] }

slide-44
SLIDE 44

Rendering math

slide-45
SLIDE 45

#lang scribble/base @(require "math-utilities.rkt") @setup-math @title{Math 135 Assignment 1} @author{Prabhakar Ragde} @section{First Test} This @emph{should} be a formula: @math-in{x^2 + y^2}. @section{Second Test} This is a @bold{displayed} equation. @math-disp{x=\sum_{i=0}^n y^i}

slide-46
SLIDE 46

#lang racket/base (require scribble/html-properties scribble/base scribble/core) (provide setup-math math-in math-disp) (define mathjax-source "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-HTML") (define setup-math (paragraph (style #f (list (alt-tag "script") (attributes ‘((type . "text/javascript") (src . ,mathjax-source ))))) ’())) (define (mymath start end . strs) (make-element (make-style "relax" ’(exact-chars)) ‘(,start ,@strs ,end))) (define (math-in . strs) (apply mymath "\\(" "\\)" strs)) (define (math-disp . strs) (apply mymath "\\[" "\\]" strs))

slide-47
SLIDE 47

Conclusion

slide-48
SLIDE 48

Opportunities

slide-49
SLIDE 49

Customization

slide-50
SLIDE 50

Flexibility