Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Lecture 0 beginning
1. Module 0 : Beginning 1 of 181 of 15
Introduction to
Computational Thinking
Module 0 : Beginning
Asst Prof Chi-Wing FU, Philip
Office: N4-02c-104
email: cwfu[at]ntu.edu.sg
2. Module 0 : Beginning 2 of 18
CE1003/CZ1003
Introduction to Computational Thinking
Dr FU Chi Wing, Philip
Email: cwfu@ntu.edu.sg
&
Dr Michael Harold Lees
Email: mhlees@ntu.edu.sg
3. Module 0 : Beginning 3 of 183 of 15
Course Syllabus
• Computing and Algorithms
• Introduction to Python
• Basic Syntax and Semantics
• Variables, Data types, and Operators
• More on Numbers and Built-in functions
• Flow Control: Selection and Repetition
• Program Development Issues (supplementary)
• Strings and Characters
• Composite types
• User-defined Functions and Modules
• File management
• Exceptions
FU Chi Wing
Michael Lees
4. Module 0 : Beginning 4 of 18
Course Structure
• Lectures – around 13 Weeks
– About 26 lectures: 2 Hrs/week (check holidays)
• Tutorials
– 1 Hr/week
– Start from week 3
• Laboratory – 5 Lab Sessions
– 2 Hrs/session [Software Project Lab (N4-b1b-11)]
– Start from week 3 or 4
* Check your OWN lab./tutorial schedule
5. Module 0 : Beginning 5 of 18
Course Schedule
Red – Holidays/Recess and Blue – Lectures
Later need a
make-up lecture
due to “Union day”
6. Module 0 : Beginning 6 of 18
- Lecture slides, tutorial questions, and lab
questions will be available in Edventure.
- Lecture slides: You can print them out from
Edventure before lectures.
- Tutorial questions: Some tutorials you are
expected to try before, others require group work.
- Lab questions: You are required to do
programming with documentation.
You should start learning how to access Edventure
http://edventure.ntu.edu.sg/
Course Material
7. Module 0 : Beginning 7 of 18
Focus on this course
• This is more than a programming course
• Though we talk about and teach Python, but
we indeed use Python as a tool
• Rather… We hope that you can learn computational
thinking so that you know how to apply computers and
programming as problem solving tools!!!
Problem Algorithm Program
Run on
Computational
Thinking
Programming
8. Module 0 : Beginning 8 of 18
Learning Outcomes
• Understand how algorithmic solutions may be used to
solve numerical and textual problems
• Capture requirements in a methodical fashion and
derive an appropriate algorithm
• Implement algorithms using a high-level programming
language
• Be able to understand and use appropriate
file management techniques
• Plan for testing of programs
• Acquire and adopt good programming practice
9. Module 0 : Beginning 9 of 18
Our Course Practice
• University Students …
– Be considerate to others: including your
fellow classmates and me
• Switch your phone(s) to quiet mode
• No talking during the lecture
– This is a huge class!
10. Module 0 : Beginning 10 of 18
Textbook: CE1003/CZ1003
The Practice of Computing using Python
By William Punch and Richard Enbody
Addison-Wesley, 2010 (1st Ed.) and 2012 (2nd Ed.)
11. Module 0 : Beginning 11 of 18
Reference Material
– Python Programming: An Introduction to Computer
Science, 2nd Ed., by John Zelle, Pub. Franklin, Beedle &
Associates Incorporated, 2010, ISBN-13: 978-1-59028-
241-0.
– Practical Programming: An Introduction to Computer
Science Using Python, by Jennifer Campbell, Paul Gries,
Jason Montojo, and Greg Wilson, Pub. The Pragmatic
Programmers 2009, ISBN-13: 978-1-93435-627-2
– http://en.wikibooks.org/wiki/Python_Programming
– http://www.tutorialspoint.com/python/index.htm
– http://docs.python.org/tutorial/
– http://docs.python.org/py3k/tutorial/
12. Module 0 : Beginning 12 of 18
Begins Early
• Good Programming Style!!!
– http://en.wikipedia.org/wiki/Programming_style
– http://www.python.org/dev/peps/pep-0008
Program is not just for computer to run, but also for human to read
Else… you may find 80% of your programming time for debugging
13. Module 0 : Beginning 13 of 18
Assessment
• Assessment
– Examination
– Coursework
• Examination
– Answer All 4 questions
• Coursework
– Quiz x 2 in Labs 3 & 5
– Programming assignment x 2
(a simple looping problem and a simple game)
14. Module 0 : Beginning 14 of 18
Academic Honesty
• Unless otherwise noted, worked turned in
should reflect your independent capabilities.
• Plagiarism (Copying of part/complete
assignment) – considered as cheating.
You may be expelled because of it.
• Both source and copier could be penalized.
• A certain system will be used to check
your programs for plagiarism for your lab
submission.
This is a foundation course in CS/CE!!!
15. Module 0 : Beginning 15 of 18
How to Study?
• Lectures:
– Attend lectures -> learn!
– Read lecture notes
– Read textbook (and reference material)
• Tutorials:
– Work out tutorials; don’t just listen -> learn and practice!
– Try your tutorial questions and verify them
• Labs:
– Work out all lab questions yourself -> practice! practice!
– DO lab assignments yourself (this is an intro course)
16. Module 0 : Beginning 16 of 18
Self Study
• No one becomes an expert in 24-26 hours!
• You should understand lectures are to
introduce/refresh material.
• The responsibility lies with you!
• What is necessary vs. good vs. ideal.
• This is the start of the journey – it just begins when
you have finished and passed this exam!
17. Module 0 : Beginning 17 of 18
Interaction
• Talk to each other…
• Learning from more experienced students.
– This helps the helper, explaining a concept really makes it
clear in your mind
– This helps the helped, they can understand!
– This helps us, distributed learning.
• Learn to deal with others!
– Lab partners, tutorial classes.
• Talk to us and smile at us! We need to know of
issues.
18. Module 0 : Beginning 18 of 18
Last words
1. Self-motivation
2. Use time wisely
3. Make an effort