Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
552
Advanced
Programming
Spring
2014
Tony
Hoare
Turing
Award
Lecture
1980
simple code is
Readable
Reusable
Modiable
Predictable
Checkable
FuncHonal Programming
Readable
Reusable
Modiable
Predictable
Checkable
Research
labs
Finance
ConsulHng
Technology
Health
CIS 552
Haskell
Why
Haskell?
Bleeding
edge
technology.
Why
Haskell?
BeauHful.
Why
Haskell?
Blows
Your
Mind.
Why
Haskell?
Fun.
Why
Haskell?
Types.
Why
Haskell?
Real.
This
plot
shows
how
many
Hmes
slower
the
fastest
benchmark
programs
for
selected
language
implementaHons
were,
compared
to
the
fastest
programs.
Black-belt
Haskell
Many
small-scale
case
studies
In-class
design
analysis
lifecycle
models
project
management
design
modeling
notaHons
(UML)
formal
specicaHon
Audience
People
with
strong
background
in
programming
and
mathemaHcs
No
experience
with
FP
expected
Priority
to
CIS
undergrads/grad
students
If
not
registered
and
not
on
the
waitlist,
send
me
email
immediately
Course
Sta
Instructor:
Dr.
Benjamin
Pierce
bcpierce@cis.upenn.edu
TAs:
Emilio
Gallego
Leonidas
Lampropoulos
Antal
Spector-Zabusky
Grading
60%
Programming
assignments
mostly
in
pairs
graded
on
correctness,
style
and
(asymptoHc)
eciency
Homework
#0
Available
from
course
website
Get
everything
set
up
on
your
machine
Haskell
compiler
and
libraries
Version
control
socware
Editor
Homework
#1
Will
be
available
next
Wednesday
Download/submit
from
course
website
Work
with
a
partner,
submit
only
once
Must
compile
with
-Wall -Werror to
get
any
credit
Late
policy
Homework
style
Style
guide
on
course
website:
read
it
InteracHve
HW
discussions
in
class
Examples
of
good
/
bad
style
Academic
Integrity
We
expect
you
to
follow
Penn's
policies
on
Academic
Integrity.
Do
not
plagiarize
or
copy
code
Using
a
library
funcHon
is
ok
Looking
up
the
source
of
that
funcHon
and
presenHng
it
as
your
own
work
is
not
Lecture format