Module 0 : Beginning 1 of 18 1 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
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
Module 0 : Beginning 2 of 18
CE1003/CZ1003Introduction to Computational Thinking
Dr FU Chi Wing, Philip
Email: [email protected]
&
Dr Michael Harold Lees
Email: [email protected]
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
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
Module 0 : Beginning 5 of 18
Course Schedule
Red – Holidays/Recess and Blue – Lectures
Later need a
make-up lecture
due to “Union day”
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
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 onComputational
Thinking
Programming
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
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!
Module 0 : Beginning 10 of 18
Textbook: CE1003/CZ1003The Practice of Computing using Python
By William Punch and Richard Enbody
Addison-Wesley, 2010 (1st Ed.) and 2012 (2nd Ed.)
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/
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 readElse… you may find 80% of your programming time for debugging
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)
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!!!
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)
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!
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.
Module 0 : Beginning 18 of 18
Last words
1. Self-motivation
2. Use time wisely
3. Make an effort