Programming for Scientists S2 2022
This website is in the process of being updated for the Semester 1, 2023 run of the course. If you are looking for the Semester 2, 2022 version, please refer to the archive tab. Do not rely on information on this website for S1 2023 until this notice is removed.
- Read about studying this course remotely!
- Contacts (ask a question, tell us something)
- Course material:
- Assessment (assignments, exams, rules, and applying for exceptions)
- Schedule: see the ANU timetabling web site.
- Read the weekly information posts in the news forum on the course wattle page.
- Read the course content & schedule and assessment pages, and check regularly for updates.
Note: This applies to both COMP1730 and COMP6730.
It will be possible to participate in the course on-line. At this time, we are planning to offer both on-line and on-campus labs, with the on-campus labs taking place in CSIT N111/113/114/115/116 or HN Lab 1/2. Please check the timetable for lab times. Places in the on-campus lab rooms are limited, and we cannot guarantee that every student who is in Canberra will be able to attend one; on-line labs will be available to everyone. Students who are on campus should be able to use InfoCommons and CS lab computers to participate in the on-line classes.
To study remotely, you must have:
Reliable internet with access to
You must have access to a personal computer that you are allowed to install software (the python programming environment) on.
As an alternative, you may be able to use the software available on ANU computers through a virtual desktop. However, you should test it thoroughly, and make sure you have a reliable and high-bandwidth connection, before you consider this option.
More information about the software requirements and how to setup and use the VDI is available on the labs page.
Course material and where to find it
All course material will available through this web site and the course wattle page. The wattle page will be used for interactive functions, such as forums, quizzes, and assignment submissions, while course material such as lecture slides, lab pages and assignment specifications will be found here (see the content, labs and assessment tabs at the top of the page).
Lectures are every Monday and Tuesday, 4pm-5pm and 11am-12pm respectively, both at Kambri MCH i.e. Kambri Manning Clark Hall (this is in the Cultural Centre, and is the big room that is not the cinema). Lectures will also be available online. Note that there may not be a lecture on some days. Please check the content and schedule page.
We will be using teams for you to interact with tutors during labs (if you are attending labs online). You should
be able to log into teams using your ANU id (
uNNNNNNN). There will
be separate teams for lectures and for each of the lab groups: to join
a team you will need an access code, which will be posted on the
course wattle page.
The course convenor and lecturer in Semester 2 is Brian Parker. (Neither Minh Bui nor Amanda Parker are convening this semester - the programs and courses page is not accurate)
Tutors will be announced at the course start.
Any questions about course content - in other words, questions about programming, about what will be assessed, about when the next lecture is - should be posted to the discussion forum on wattle. When using the forum, consider this:
- Before you post a question, read the answers to the relevant questions that have already been asked. Do not repeat the same question. If you do not understand the previous answer, repeating the same question is not going to give you a different answer. Try to explain what it is that you’re missing in the previous answer.
- When you start a new thread, give it a descriptive topic. This will help others find your question (and the answer to it) and therefore make it easier for them to follow advice #1.
- Do not post solutions, or parts of solutions, to assignment problems. Not even after the deadline (we will post solutions if and when it is the right time to do so). Not even if they don’t work.
We aim to reply to any questions posted to the forum within one working day. We will not always achieve this aim. (Also, “reply” does not always mean “answer”. Sometimes the best answer to a question is a counter-question, a pointer in a different direction, or something else other than a direct answer.)
Any questions for the teachers that you don’t want to discuss in public - for example, the reasons why you are unable to explain the content of your assignment submission, etc - email to email@example.com. This email will be read by the teachers (both lecturers, and possibly some of the tutors). Emails will never be answered faster than questions posted to the wattle forum.
For any administrative questions (how to enroll, unenroll, rules relating to your degree, exams, etc), you should contact student services. They can also reached via email (firstname.lastname@example.org).
If you have any feedback (good or bad) about the course and you do not want to talk to the lecturer directly, your first point of contact is the student course representatives. Course reps will be chosen at the start of the semester - if you would like to volunteer, let us know by emailing email@example.com.
Note: The course page on ANU Programs & Courses has not been updated. The information below supercedes that on the Programs & Courses page.
This course teaches introductory programming, fundamental programming language and computer science concepts, and computational problem solving illustrated with applications common in science and engineering, such as simulation and data processing. The course does not require any prior knowledge of programming, computer science or IT. There is an emphasis on designing and writing correct programs: testing and debugging are seen as integral to the programming enterprise.
Students who succeed in all aspects of this course will:
- be able to design and write correct and readable small programs to solve practical data processing problems;
- be able to read, understand and debug small computer programs;
- understand some practical limitations on computer programs, including scaling (w.r.t. time and memory) and numeric precision (rounding errors) issues.
No programming, computer science or IT experience or skills are required. Students are assumed to have a level of knowledge of mathematics comparable to at least ACT Mathematics Methods, NSW Mathematics or equivalent.
Text books and other resources
We do not prescribe any specific text book, but strongly recommend that your acquire at least one. The following two are recommended:
Think Python: How to think like a computer scientist, 2nd Edition, by Allan Downey.
This book can be be found on-line, in PDF format or as set of web pages. For convenience, a copy of the PDF version is available here. The book is also available in paperback (published by O’Reilly, 2015; ISBN-13: 978-1491939369; ISBN-10: 1491939362).
If you get this book, it is important that you get the 2nd edition, which is written for python 3.x.
The Practice of Computing using Python, 2nd Edition, by William Punch and Richard Enbody (published by Addison-Wesley, 2012; ISBN-10: 0-13-280557-X; ISBN-13: 978-0-13-280557-X).
Also with this book, it is important that you get the 2nd edition or 3rd edition.
Neither book follows the structure of the course schedule exactly. We will provide reading guidance for both books with the schedule.
There are many resources to help you learn programming on the web. We will post links to the best ones as we find them, and we invite you to do the same.