Digression: Scoring Matrices
CITS1401
Computational Thinking with Python
Lecture 0
Introduction
L0 Introduction – 3
My introduction
• Unit Coordinator: Dr. Ghulam Mubashar Hassan
• Consultation time : 2 – 3 pm Tuesdays
• My research areas: Artificial Intelligence, Machine Learning
interdisciplinary problems & Engineering Education
• Website: www.csse.uwa.edu.au/~00080148/
• Office: CSSE Room: 2.12 or MS Teams
All of you are part of MS Teams. Please use your Pheme details to
access it.
https://teams.microsoft.com/l/team/19%3a90df1bfede3f4e019a91db26c8a5ed10%40thread.tacv2/conversations?groupId=9cb1a51f-5ee6-4ccc-8954-91c608d9147f&tenantId=05894af0-cb28-46d8-8716-74cdb46e2226
L0 Introduction – 4
Teaching team
• Laboratory facilitators
– Dr. Nur Haldar
– Maira Alvi
– Mustafa Saeed
– Majiga Enkhsaikhan
• Admin/enrolments/labs/etc.
– CSSE Reception (Hass Barzani) or admin- .au
L0 Introduction – 5
What is CITS1401 About?
“Computational thinking is the thought processes used to
formulate a problem and express its solution or solutions in
terms a computer can apply effectively”
Cansu, S. K., & Cansu, F. K., 2019
• CITS1401 is about computer-based problem solving
– How to formulate the problem in a computer language
as series of steps
• Will say a little about computers and how they work, and
also about how to solve problems using programs
• Shall be using Python 3 as our computer language
– Please do not use Python 2. Related dialect, but
incompatible
L0 Introduction – 6
Course Outcomes
• Developing computational thinking skills:
– Decompose: how to divide large problem into small parts and
solve them “divide and conquer”.
– Pattern recognition: recognizing common tactics to solve set of
problems.
– Abstraction: generalizing the problem by reducing avoidable
details.
– Algorithm: how to formulate ordered step-wise approach to solve
the problem.
• Developing programming skills:
– Be able to write a program in Python 3 to:
• Solve small problems
• Automate repetitive computational tasks
Both skills are transferrable
L0 Introduction – 7
Teaching Strategy
L0 Introduction – 8
Why Python ?
• Most popular language
https://www.northeastern.edu/graduate/blog/most-
popular-programming-languages/
– Easy to learn
– Large library
– Extensively used in:
• Startups
• Artificial intelligence
• Data science
• Financial services
• Interdisciplinary fields
L0 Introduction – 9
Resources
• “Python Programming: An Introduction to Computer
Science”, 3rd Edition, John Zelle, Franklin Beedle.
• “Starting out with Python” 4th Edition, Tony Gaddis
• All CITS1401 resources (including PDFs of the lectures)
can be found on the LMS page for the unit.
– You need to be enrolled in the unit to see the page.
• All assessments’ submissions will be made on Moodle
(https://www.jinhong.org/moodle/login/index.php) which is a
similar platform as LMS but can run and test your code.
More details will be shared via an announcement on LMS.
• Students need to follow course page on LMS as well as
Moodle.
https://www.jinhong.org/moodle/login/index.php
https://www.jinhong.org/moodle/login/index.php
http://www.lms.uwa.edu.au/
https://www.jinhong.org/moodle/login/index.php
L0 Introduction – 10
Organisation
• 2 x 1hr lectures a week and 1 x 1hr Workshop
– Both lectures and workshop slots will be treated in
similar manner. The contents of workshop are
embedded in the lectures to make them more
interactive.
– The recorded lectures/workshops will be made
available on LCS.
– The lectures slides you find on LMS do not
necessarily correspond to timetabled
lecture/workshop slots.
L0 Introduction – 11
Organisation
• 1 programming lab per week (2 hrs)
– Lab facilitator is available to assist
– There are 12 face-to-face and 3 online lab sessions
– Starts Week 2
• Check your Timetable for your lab session
– 20 hours of multiple time slots across the week
– feel free to drop in any lab session but registered
students will be preferred
– maximum number of students may be restricted
due to COVID-19 restrictions in face-to-face
sessions
L0 Introduction – 12
Labs – Expectations
• Five labs are assessed and rest non-assessed. Lab 00 explains
Moodle and must be attempted.
• If you want to do well in the unit you should complete labs regularly.
– Some learning in the unit, particular related to computational
thinking skills, will only take via labs.
• Students are encouraged to start working to solve the lab as soon as
they are released.
• You are welcome to attend as many lab sessions as you want
– preference to those timetabled to be there
• Feel free to use discussion forum on Moodle. Teaching team will
regularly check the forum during working days. Estimated time to
respond your queries is 2 working days.
L0 Introduction – 13
Labs – Expectations
• You are required to install Thonny on your own
computers. Thonny is already available in all lab
computers of EMS. (You may bring your laptops and use
Thonny while watching the lectures and workshops)
• Lab time is your time to seek help from lab
facilitators
• The contents covered in labs are part of the course and it
may be more than you have covered in the lectures
L0 Introduction – 14
Programming Environments
• In the lab you will use Python 3.5 (or above) via the
Thonny IDE
– An integrated software development environment
where you can write, edit, execute and debug
programs
• Thonny is student oriented. It is a free software
available for all major operating systems such as
Windows, OS, Linux. Python 3.5 or above is built in
– Not phones or tablets (Android or iOS)
• You can download Thonny from
http://www.thonny.org
http://www.thonny.org
L0 Introduction – 15
Assessment
• Assessment is based on both
– Understanding of fundamental concepts
– Practical computational thinking and programming skills
• Final Exam (worth 55%) TBA by Exam Office
• Two programming projects (worth 25%)
– Project 1 due Fri. 5:00 pm of Week 7 (worth 15%)
– Project 2 due Fri. 5:00 pm of Week 12 (worth 20%)
• Labs (worth 10%):
– Five lab quizzes (worth 2% each) due Fri. 5:00 pm in two
weeks after their release
L0 Introduction – 16
Getting Help
• Discussion Forum on Moodle
• Weekly Consultation hour
• 20 hours of Labs
• Textbook
• Above all, seek help early
Svengraph, WikiMedia
L0 Introduction – 17
Do Something Useful in Week 1
• Get your pheme login and password
• Get an access to Moodle’s server as soon as details
are sent to you by email.
• Organize your UWA email account
• Obtain your timetable (online)
• Get familiar with the CITS1401 LMS and Moodle
websites
• Install Thonny (it comes with recent version of
Python)
L0 Introduction – 18
Other Stuff
• You may read other textbooks or lectures to improve
your understanding of fundamental concepts or
learn more
• I have set slides in Century Schoolbook font (with
some Courier and Arial for computer code and
meta-language). If you have trouble reading it,
please let me know
– Accessibility is important
L0 Introduction – 19
Other Stuff
• “10 Signs You Will Suck at Programming”
– Article made available on LMS->Interesting Things
– Has really great advice about what you need to
succeed at programming.
– READ IT
• Engage with the unit!!!
– From the last semester, I observed that if you
watch lectures and generally engage with the unit
regularly, you will do better.
L0 Introduction – 20
PheobeA – Redbubble
L0 Introduction – 21
Acknowledgements
• It is important to acknowledge the PPT slides for
this unit are based on a slide deck supplied by
John Zelle (textbook author), though modified,
augmented and reordered by Ghulam Mubashar
Hassan and Michael Wise.
CITS1401�Computational Thinking with Python
Lecture 0�Introduction
My introduction
Teaching team
What is CITS1401 About?
Course Outcomes
Teaching Strategy
Why Python ?
Resources
Organisation
Organisation
Labs – Expectations
Labs – Expectations
Programming Environments
Assessment
Getting Help
Do Something Useful in Week 1
Other Stuff
Other Stuff
Slide Number 20
Acknowledgements