Programming for Scientists S1 2019
Shortcuts#
- Contacts (ask a question, tell us something)
- Course material:
- Lecture schedule and notes
- Text book
- A copy of Downey’s book is here (PDF)
- Lecture recordings are accessible through the course wattle page.
- Labs
- Assessment (assignments, exams, rules, and applying for exceptions)
- Schedule: see the ANU timetabling web site or the weekly schedule (PDF)(forthcoming).
Practical information#
Note: This applies to both COMP1730 and COMP6730.
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).
Teachers#
The course convenor and lecturer is Jeffrey Fisher.
The second examiner is Minh Bai. The role of the second examiner is quality assurance, and as a possible point of contact for matters that you do not wish to discuss directly with the convenor.
Tutors will be announced by the course start.
Contact information#
-
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 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, personal problems infringing on your studies, etc - email to comp1730@anu.edu.au. This email will be read by the teachers (lecturer, second examiner, 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 enrol, unenrol, rules relating to your degree, exams, etc), you should contact student services. Their office is on level 2 in the CSIT building. They can also be reached via email (studentadmin.cecs@anu.edu.au) or phone (02 6125 4450).
-
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 comp1730@anu.edu.au.
-
Only if you have to communicate with one and only one person (the lecturer, the second examiner, etc) should you use their personal email. Never send emails to both comp1730@anu.edu.au and to the lecturer.
Course outline#
Note: The course page on ANU Programs & Courses has not been updated. The information below supersedes that on the Programs & Courses page.
Description#
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.
Learning outcomes#
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.
Assumed knowledge#
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.
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.
Lectures#
The schedule of lectures (and labs) is available on the ANU timetabling web site. Not all scheduled lecture slots will be used in all weeks, i.e., some weeks we will have only one lecture. Check the course content & schedule pages and read the weekly news forum posts.
Lecture notes will be posted on the content pages. This may happen after the lecture.
Lectures are recorded. This includes questions asked in lectures (to the extent that they are audible). However, not all aspects of a lecture are captured by the recording. For example, whiteboard drawings and some other demonstrations are not recorded. You may also find that the resolution of recorded video is very low. Also note that recording sometimes fails. The recording system is the responsibility of the ANU central IT division. Teachers have no control over the recording system. If there is any issue with a recording, you should report it to https://itservicedesk.anu.edu.au/selfservice/.