CS1101S
CS1101S Programming Methodology (in JavaScript) @ NUS SoC
Install / Use
/learn @yunpengn/CS1101SREADME
CS1101S Programming Methodology
AY2016/2017 Semester 1<br> School of Computing<br> National University of Singapore
Taught by Martin Henz and Low Kok-Lim
CS1101S is a module taught in the Department of Computer Science at the NUS School of Computing. It serves as a rigorous and thorough introduction to programming methodology. The module follows the didactic strategy of the classic textbook Structure and Interpretation of Computer programs (SICP), which Harold Abelson and Gerald Jay Sussman developed for MIT introductory programming class 6.001.
It is taught in Source, a sub-language of JavaScript. The module is run on a digital platform, called Source Academy.
About Me
I was an Year 1 undergraduate student at NUS when taking this course. My major is Computer Engineering. I love programming and solving challenges. I received NUS Science & Technology (S&T) Scholarship and had good academic results.
- Website: yunpengn.github.io
- Email: neilniuyunpeng@gmail.com
- Facebook: @Yunpeng Niu
- LinkedIn: @Yunpeng Niu
My Slides
Yunpeng has served as tutor for CS1101S twice, in AY2017/2018 Semester 1 and AY2018/2019 Semester 1 respectively. To give back to the community and benefit students from the future batches, Yunpeng has decided to open-source his slides for the tutorial sessions.
2017 Version
Detailed description for 2017 version can be found here.
- Week 1: Introduction & Administration
- Week 2: Computation, Source Language & Abstraction
- Week 3: Abstraction, Recursion & Order of Growth
- Week 4: Recursion & Higher-order Programming
- Week 5: Data Abstraction & List Processing
- Week 6: List & Tree Processing
- Week 7: Data Structure Design & Mid-term Review
- Week 8: Language Processing & LEGO Programming
- Week 9: Mutable Data & Array
- Week 10: Memoization & Object-oriented Programming
- Week 11: Object-oriented Programming
- Week 12: Meta-circular Evaluator
- Week 13: Web Development & Final Review
2018 Version
Detailed description for 2018 version can be found here.
- Week 1: Introduction & Administration
- Week 2: Computation, Source Language & Abstraction
- Week 3: Abstraction, Recursion & Order of Growth
- Week 4: Higher-order Programming & Language Processing
- Week 5: Data Abstraction & List Processing
- Week 6: List & Tree Processing
- Week 7: LEGO Programming, Sorting & Mid-term Review
- Week 8: Data Structure Design & Stateful Programming
- Week 9: Environment Model, Array & Loop
- Week 10: Iteration & Memoization
- Week 11: Stream
- Week 12: Object & Meta-circular Evaluator
- Week 13: Web Development & Final Review
Licence
Related Skills
node-connect
352.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
