CITS1401 Problem Solving and Programming

Problem Solving and Programming
Introduction and Admin
Semester 1, 2013
A/Prof Lyndon While
School of Computer Science & Software Engineering
The University of Western Australia
• CITS1401 covers
– Many important problem-solving techniques used
widely in Computer Science and in programming
– Writing basic programs in Python, a modern
high-level programming language
– An introduction to software engineering
Computer Science is no more about computers than
Astronomy is about telescopes. (Edsger Dijkstra)
• CITS1401 is a first programming unit
– No prior programming experience is assumed
– But there is a wide range of student backgrounds
• CITS1401 is the first in a series of units
designed to give you
– Excellent problem-solving skills
– A good understanding of the programming process
– Exposure to a wide range of topics in ICT
Problem solving and programming are like
swimming and juggling: practice is everything!
People & places
• Unit coordinator: A/Prof Lyndon While
• Consultation times: 10-11am Wednesdays
• Lectures:
– 1–2 pm Mondays and Wednesdays in ELT1
– All lectures are recorded and available via LMS
– The slides are also available online via LMS
• Supervised lab sessions run in Lab 2.03,
starting in Week 2
• Several times are available
– You are expected to attend one session each week
• But feel free to attend multiple sessions
– Free Wi-Fi is available
– Working from home is also fine
• But make sure you keep up!
• The first two hours of each session is supervised
• Workshops are at 4–5 pm Thursdays in Austin LT,
starting in Week 2
• Purely optional on an as-needed basis
– Aimed at students who are having difficulty with
the content or the pace of the unit material
– Basic questions will be given priority over
more-advanced questions
– Additional examples complementing the lectures
– Embarrassment-free zone!
The only stupid question is the one that isn’t asked!
CITS1401 admin, Sem. 1 2012
• Everything that is distributed in CITS1401
will be available from
– The lecture recordings and slides are on LMS
• Nothing else will be available via LMS
• To make a query in CITS1401, or to initiate
discussion on any relevant topic, go to
• Online discussion forum for CITS1401,
based on the philosophy of
READ FIRST: if the answer is not there, THEN POST
• Asking questions is useful:
– Sometimes just formulating a question properly
helps you to realise the answer yourself!
• Answering questions is useful:
– Explaining something helps you to understand it,
and it generates good karma too!
DO NOT post assessment code to help1401
• Announcements will be made in three places
– In CITS1401 lectures
– On the CITS1401 web-site noticeboard
– On help1401
When an announcement has been made in these
three places, we will assume that you are aware of it.
• Any information distributed by email
will be sent to your UWA account
– Check your account regularly, or forward it
Text and other resources
• Fundamentals of Python:
First Programs
• Kenneth A. Lambert
• ISBN: 9781111822705
• http://undergraduate.csse.
Development environment
• In the lab you will be using the Python 3.3 IDLE
available from
– An integrated software environment where you can
create, edit, execute, and debug programs
• You can download this software free from and install it at home
– It is available for all major operating systems
Note that all work submitted for assessment
will be tested on the lab set-up
• Assessment is based on both
– understanding of fundamental concepts
– practical problem-solving and programming skills
• Mid-semester test
– In Week 7, worth 15%
• Two programming projects
– Project 1 due in Week 8, worth 10%
– Project 2 due in Week 13, worth 15%
• Final exam
– In the June exam period, worth 60%
Passing and satisfactory progress
• To pass CITS1401, you must achieve
– At least 50% overall, and
– Satisfactory progress: at least 40% in
Project 1 and the test combined, and
– At least 40% in the final exam
• Students who fail to make satisfactory progress
will be notified in writing by the end of Week 10
and will be excluded from the final exam
Everyone in CITS1401 is capable of passing, but history
suggests that 20% of you will fail – who do you want to be?
Seeking help
• There are many avenues for seeking help
Supervised labs
The text and other resources
Consultation times, and after lectures
You are not alone: when problems arise, seek help early!
UWA compulsory online modules
• All students are required to complete
three online learning modules
– Academic Conduct Essentials
– Communication and Research Skills
– Indigenous Study Essentials
• The above site also contains many other resources
which will be useful in your studies
Week 1 in the labs
Obtain your computer account name and password
Organise your UWA email account
Obtain your timetable from OLCR
Familiarise yourself with the School web-site,
and the CITS1401 web-site
• Install Python 3 on your computer at home