339x Filetype PDF File size 0.67 MB Source: geo.sustech.edu.cn
STRUCTURE AND
INTERPRETATION OF
COMPUTER PROGRAMS
(SICP)
WHAT IS SICP? RESOURCES
The Structure and Interpretation of Computer
TEXTBOOK
Programs (SICP) is an online course which
provides a thorough introduction to computational
The course uses the textbook "Structure and
thinking. Starting from a small core of
Interpretation of Computer Programs, JavaScript
fundamental abstractions, the programme
Adaptation" (SICP JS), which is the modernized
introduces programming as a method for
edition of the classic textbook "Structure and
communicating computational processes. The
Interpretation of Computer Programs".
programme begins with purely functional
programming, using a simple substitution-based
SICP JS will be published by MIT Press in 2022.
execution model, and ends with a powerful
This will be the rst time that the complete and
modern imperative language and a realistic
print-ready version of this textbook will be used in
environment-based execution model.
a course, world-wide.
Topics covered include: functional abstraction,
Here is the link to the web edition of the textbook:
recursion, higher-order functions, data abstraction,
https://source-academy.github.io/sicp
algorithmic strategies, state mutation, loops and
arrays, evaluation strategies and symbolic
processing.
Non-CS students bene t from this introduction to SOURCE ACEDEMY
computational thinking by gaining a deep
appreciation for computation, a mode of inquiry of
The Source Academy is an award-wining
ever increasing importance. Students will be able
computer-mediated learning environment for
to assess what kinds of problems are amenable to
studying the structure and interpretation of
computational approaches and, in principle, how
computer programs. Students write and run their
computational solutions are constructed. The
programs in their web browser, using
material is building on the students' understanding
sublanguages of JavaScript called Source,
of formal processes in middle and high school
designed for the textbook Structure and
science and mathematics.
Interpretation of Computer Programs, JavaScript
Adaptation.
In the practical exercises, students will be using a
sublanguage of JavaScript called Source, see
The Source Academy is available under the
https://en.wikipedia.org/wiki/Source_(programmin
Apache License 2.0 at our GitHub organisation,
g_language).
Source Academy. The National University of
Singapore uses the Source Academy for teaching
Programming Methodology to freshmen Computer
Science students in the course CS1101S.
WHO IS IT FOR?
Check out Source academy here:
https://sourceacademy.nus.edu.sg/
Undergraduates with no or only casual prior
exposure to computation and programming.
STRUCTURE
BENEFITS
SICP consists of 4 units conducted over 3 different
periods throughout the year. Students will rst
register and pay for Unit 1. Upon passing Unit 1,
students will be informed to proceed to and pay for
NUS ACCOUNT SYNCHRONOUS
LEARNING Unit 2 & 3, which will be taught in a consecutive
exclusively created for via ZOOM with real-time
manner. Finally, upon passing Unit 2 & 3, students
you with access to NUS social interaction for
will be informed to proceed to and pay for Unit 4.
LEARNING PLATFORMS discussion, feedback,
during the programme sharing and insights
Students will be awarded a certi cate upon
completion of each Unit. Upon completion of all 4
Units, students will receive an overall programme
completion certi cation.
STUDIO SESSIONS PRACTICAL EXAMPLES
with at most 8 STUDENTS
provided to develop concrete
UNIT 1
per instructor to provide
understanding guided by
optimal individualised
instructor well-versed in the
BUILDING ABSTRACTIONS
learning experience
area
WITH FUNCTIONS
8 Instructional Days on
Saturdays & Sundays
between
CERTIFICATE ADVANTAGE IN MCOMP
(GENERAL TRACK)
AWARDED FOR EACH UNIT
COMPLETED which can be APPLICATION
8 May 21 - 5 Jun 21
greatly advantageous for
offered by NUS School of
future career and studies
Computing for students who
perform well in SICP
UNIT 2
For more information on MComp (General Track):
https://www.comp.nus.edu.sg/programmes/pg/mcomp-gen/
BUILDING ABSTRACTIONS WITH DATA
UNIT 3
IMPERATIVE PROGRAMMING
CONTACT
12 Instructional Days
HOURS
between
Each instructional day consists of 5 contact hours,
including 2 hours live lecture, 1 hour re ection and
12 Jul 21 - 28 Jul 21
2 hours studio session.
HOURS
UNIT 4
LIVE
2
LECTURE
BEYOND
CONVENTIONAL PROGRAMMING
6 Instructional Days on
HOURS
Saturdays & Sundays
HOUR
STUDIO
2
REFLECTION
1
SESSION
between
4 Dec 21 - 2 Jan 22
UNIT INTRODUCTION
UNIT 1: BUILDING ABSTRACTIONS
WITH FUNCTIONS
In this unit, students are introduced to a high-level
Learning Objectives
mental model for computation that builds on
formula manipulation in mathematics and
science.
Functional Programming
Substitution Model
Students will learn that programming with
functions can be understood as describing
Scoping and Names
computational processes in which each step
Recursion
consists of an expansion or simpli cation that
follows simple rules. With this understanding,
Higher-Order Function
students can build solutions to computational
challenges in computer graphics.
UNIT 2: BUILDING ABSTRACTIONS
WITH DATA
Learning Objectives
In this unit, students will understand data as an
abstraction technique for handling information.
They will form a mental model for data structures
Data Abstraction
that connects to the computational model of Unit 1.
List and Tree Processing
Students will learn how to systematically
manipulate data structures with the programming
Symbolic Processing
abstractions provided by functional programming.
The example domains range from sound
Sorting and Searching in Lists
processing to symbolic data processing.
no reviews yet
Please Login to review.