Contents
- Subject Description
- Lectures
- Grok
- Workshops
- First Year Learning Center
- Expectations
- Workload
- Seeking Assistance
- Assessment
- Academic Integrity
- Assigned Text
- Subject Web Page
- Getting Set Up For Coding in Python
- Dress For Success
Subject Description
Ready to solve problems and have some fun along the way? This course will help you learn how to write simple computer programs and tackle challenges across business, biology, physics, chemistry, and more!
Youāll discover programming basics like loops and functions, learn how to organize your data, and master problem-solving skills like testing and debugging. Plus, weāll explore web design, multimedia, and cool ways to visualize data. Itās going to be a journey that turns your curiosity into coding skills!
Ed should be your first port of call when seeking help. Issues that affect multiple students are likely to have been picked up and answered via Ed, the class message-board
Nearly all queries in the subject should be routed through Ed If you need to email staff for a query related to the subject, please use comp10001-semester2@unimelb.edu.au.
Only if you need to email a staff member individually should you use their email below. In that case, you should prefix your emailās subject with [COMP10001].
The following people are involved in this subject in Semester 2, 2024:
Principal Subject Coordinator: Dr. Shaanan Cohney
- Email: cohneys@unimelb.edu.au
- Office Hours: Private and Zoom Consultations Available by Appointment
Subject Coordinator: Associate Professor Giuseppe Barca
- Email: Giuseppe.Barca@unimelb.edu.au
- Office Hours: Private and Zoom Consultations Available by Appointment
Subject Coordinator: Dr. Kat Vylomova
- Email: ekaterina.vylomova@unimelb.edu.au
- Office Hours: Private and Zoom Consultations Available by Appointment
Workshop Coordinator: Huey Yee Chan
- Email: huey.chan@unimelb.edu.au
Head Teaching Fellows:
-
Yige Song
-
Han Perry
Deputy Teaching Fellows:
- Rose-Maree Locsei
Production Associate: Rithik Rakesh
Teaching Fellows:
-
Amanda Chao
-
Chen Wang
-
Christopher Hadi Oetomo
-
Daksh Agrawal
-
Harry Harper
-
Hugo Lyons Keenan
-
Kacie Beckett
-
Lenny Bloom
-
Mike Wang
-
Vanessa Famdanny
-
Vincent Barbosa Vaz
-
Yi Fan (Lily) Li
-
Yutong (Tracy) Bu
First Year Fellows:
-
Catie Muir
-
Jarod Govers
-
Jiwon Bae
-
Luoman Huang
-
Leslie Nguyen
-
Patrick Bellamy
-
Tharun Dharmawickrema
The coordinators are responsible for the overall organization of the subject and for the selection of lecture and workshop material. Assistance is provided by the teaching fellows who manage the workshops. Make a note of the name of your teaching fellow at your first workshop. You are however welcome to attend any workshop, not just the one you are assigned to, so long as there is capacity (with preference to enrolled students).
Lectures
Each week, you are expected to attend two lectures. If nothing else, please attend the first lecture to meet some of your classmates!
One of our lecture slots is two-hours long. This is intended for our core content. The other lecture will change in nature, with some weeks being extra core content, a lecture to consolidate past content, or in some instances an optional advanced lecture. This will be detailed on the schedule.
The primary ways weāll use lectures are:
- To present the principles of the subject, illustrated by examples.
- To introduce the material that will be developed in workshops.
- To make announcements about the subject, particularly about the syllabus and assessment.
- To inspire you to conduct the necessary work to learn the subject material
- It is intended that lectures this semester will have interactive elements, to incentivize attendance and to promote engaged learning.
Lectures will not be able to teach you to program. This is a practical skill that you will need to develop through repeated practice. Instead, lectures will try to give you intuitions that will make your practice more effective, to provide you with a bigger picture, and to motivate you to learn.
Much, though not all, of the information presented in lectures is available from other sources. Even so, you should endeavour to attend all of your scheduled lectures. Hopefully they will also be fun!
It is critical to note that this is a skills based class. Like a woodwork class, if you watch the lectures at the end of the semester but have not been practicing, you will likely not pass the subject. The trick is consistent practice from early on in semester. This is even more important than lectures.
Extra Resources
Weāll make the lectures as engaging and informative as possible, however they may not be to everyoneās taste. If you prefer to look elsewhere to learn the material weāre happy to support you. A few resources that we find particularly helpful:
- Havard CS50p: Harvard Collegeās Introduction to Python.
- Harvard CS50: Harvard Collegeās Introduction to Computer Science. Possibly the most entertaining Intro to CS lectures.
You may also want to try out exercises from class in Pythontutor, a visualization tool to help you see what your code is doing.
Grok
A substantial portion of the class is dedicated to developing your skills on an online platform known as Grok. Much of the content of the subject is delivered through Grok, and you will be expected to complete a number of exercises each week.
Unfortunately, Grok does not support the latest version of Python (weāre trying to have them fix that)āso if you want to play with the latest features, youāll need to get Python running on your own computerāand weāre more than happy to help facilitate that.
Workshops
Each week starting from Week 2 of semester, you will be expected to attend a two-hour workshop, which will be run in a mixed model of both on campus.
The main purposes of workshops are:
- To give you an opportunity to raise questions about the subject.
- To clarify any problems that you are having.
- To discuss alternative solutions to the assigned exercises.
- To independently implement one or more of those solutions.
- To develop your confidence in using computers to solve problems.
You will get much more benefit from the workshops if you ask questions and contribute to the discussion. That can only happen if you prepare in advance. It is important that you work through the assigned exercises before attending your assigned class.
If you do not adequately prepare, you will probably not be able to finish all the work during your lab time. Although you can always attempt exercises outside of class, you will find it much easier to complete your work when you have a tutor to assist you with problems.
Our staff will also provide some assistance outside of workshops through the Discussion Forum on Ed and monitoring Grokāplease use this with aplomb! The questions you ask will also be useful to your peers, and to future iterations of the subject.
Workshop Difficulty
This year we are offering three varieties of workshops that we designate for students who are Less Comfortable and More Comfortable with the course material.
The Less Comfortable workshops are our traditional format, for students who are newer to programming and computer science. These make up the bulk of the workshops.
We are also offering More Comfortable workshops that will cover content beyond that which will be covered in the lectures. The extra topics in these workshops will not be assessed.
Why choose the more comfortable workshops? They will give you a chance to explore more advanced topics and develop your skills in a more challenging environment. If you are in the less comfortable bucketādo not worry. The majority of workshops will be for you.
If there is no availability in a workshop type that you would like to attend, please feel free to attend any workshop that suits you, regardless of your allocated workshop so long as there is space. You may attend as many workshops as you like. Please also drop us a line so that we know to consider adding more capacity.
Gender Diverse Workshop
We are also offering a workshop for women and gender-nonconforming or non-binary individuals. These are intended to give you a place where you can be confident your voice will be heard.
The contents covered will be the same, but the environment may help if you want help transitioning into an environment that may have a demographic skew.
First Year Learning Center
To aid you in your studies, we have created a drop-in support system through the CIS Learning Center, located on Level 3, Melbourne Connect (Building 290). It is a space to meet with your peers and tutors to work on your assignments, eat snacks, and mess around.
The space will be open from 9am to 5pm Monday to Friday, with tutors available to support you at times to be announced. You can find more information on the CIS Learning Center page.
See the website for how to find it!
Expectations
Like any class, we require a certain level of buy-in and behaviour to make things run smoothly and fairly. Our expectations from you include but are not limited to those for all CIS students at the University of Melbourne. Your first year computing courses are particularly important in that there is a substantial correlation between what you put into the course, including during lectures, and the skills you attain at the end. If you give this class your all, we will work hard to reward it and match it with your learning.
Workload
In total, we expect you to spend about 10 to 12 hours per week on this subject, starting in Week One and continuing through until the exam.
To help you reach this target, you are encouraged to prepare a complete study timetable that shows, for this subject, the following 12 hours:
- Three hours of lecture attendance, plus three hours of follow-up lecture review. In each review hour, you should work through the content of the previous lecture to consolidate your understanding and complete relevant exercises in Grok. (Six hours in total).
- Two hours of workshop attendance, plus two hours of preparation prior to that class. (Four hours in total).
- Two further hours per week of review and/or completing Grok worksheets, perhaps including a Study Group meeting with other students enrolled in this subject, and/or working independently on the assessed project work.
When the similar demands from your other three subjects are fitted into the equation, it is clear that you need to spend 40-48 hours per week on your University study. If you have outside interests (including work) that consume more than approximately 12 to 15 hours per week, you are seriously jeopardizing your chances of successfully completing a full- time subject load.
If your outside interests cannot be restricted to fewer than 12 hours per week, you should consider taking only three subjects per semester.
Seeking Further Assistance
Ed should be your first port of call when seeking help. Issues that affect multiple students are likely to have been picked up and answered via Ed, the class message-board Ed for staff, or other students, to answer. Even if you donāt have questions of your own, you are likely to be able to benefit by reading other studentsā queries and will perhaps even be able to post answers to help them out. Staff will routinely monitor the forums, and when necessary, provide additional answers to questions.
In addition, we are trialling the use of an AI we developed in house: Mr. Duck! Mr. Duck will attempt to answer your questions instantly, without giving away the answer. However, do not trust Mr. Duck uncritically! Staff will endorse Mr. Duckās answers when they are correct or add additional information. But, just like a human tutor, Mr Duck is sometimes wrong! Quack!
You should also feel free to approach the lecturers for help. Immediately after each lecture is usually a good time to ask quick questions or to request appointments for longer discussions. You may also make contact to senior staff by email to ask questions and to schedule appointments.
If there are external issues causing problems with your studies, there are also a number of avenues available. While your staff, including your tutors, are not trained support staff, they may be able to help resolve course related issues or direct you to services that can better assist you. Some resources that you should be aware of:
- Student Equity and Disability Support: This University Office supports students with disabilities, medical conditions, with religious needs, carers, elite athletes and performers, and members of the armed forces/emergency workers.
- Counselling & Psychological Services (CAPS): The University of Melbourne Counselling and Psychological Services (CAPS) provides free, confidential, short-term professional counselling to currently enrolled students, as well as a range of workshops, mental health training, and helpful resources. This includes a 24/7 crisis line.
- Stop1: The centralized student support service that manages enrolments, finance, and more.
- Academic Skills: Can help with acclimatizing to the professional environment of a University, and studying in Australia.
Assessment
A mid-semester test will be held during your scheduled lecture session on 6 Sept 2024, worth 10% of your final grade.
Details about the mid-semester test will be shared closer to the date. To help you prepare, a sample test will be provided. Test viewing sessions will also be arranged.
Weekly Grok worksheets are due at 6 PM every Monday starting from Week 3, each worth 1% of your final grade for a total of 10%. Once the deadline has passed, that weekās worksheet will no longer be available for completion.
We will have two programming projects that together account for 30% of your final grade. The first project is due around Week 8, and the second will be due around Week 11. Both projects will be submitted online.
Both the Grok worksheets and the projects will primarily be autograded, meaning most of your score will depend on whether your code provides the correct output for specific inputs. Although we provide a set of test cases for practice, the final graded test cases might be stricter. Additionally, projects will be evaluated by a human grader, who will give feedback on how to enhance your code.
Grok Worksheets
Your mark for the Grok worksheets will be based on the number of green diamonds you obtain by successfully completing problems. There are 100 green diamonds spread over the 19 required worksheets. You may obtain the full 10 marks for the Grok worksheets by completing any of the 75 diamonds. We encourage you to complete more than the required 75 diamonds to aid your understanding of the subject, but doing so will not boost your mark.
Please note that this ā75/100ā requirement is designed to give you some leeway in case you are ill or are struggling to meet other deadlines. As such, we will not provide further extensions or waivers for the Grok worksheets other than in exceptional circumstances.
If you obtain less than 75 green diamonds, your score will be scaled in the following manner:
Final mark = Number of green diamonds scored / 75 * 10
Final Examination
The final examination at the end of the semester is worth 50% of your overall grade. The exam will require detailed knowledge of the programming exercises and projects, so itās crucial to understand all of the work covered. It will address both the theoretical and practical aspects of the subject, weighted according to the emphasis placed on topics during instruction.
Hurdle Requirements
To pass the subject as a whole:
- your combined mark for the projects and worksheets needs to be at least 20/40
- your combined mark for the mid-semester test and final exam needs to be at least 30/60
For example:
Kim receives a score of 20/30 for the projects and 10/10 on the Grok worksheets. Kim receives a score of 10/10 on the mid-semester test but only scores 15/50 on the final exam. Despite the fact that these scores add up to 55/100 Kim would still fail the subject as the mid-semester test + exam score of 25/60 is below the hurdle requirement of 30/60. A result of 49NH would appear on Kim's transcript.
Assessment Breakdown
Component | Timing (tentative) | Weighting |
---|---|---|
Projects (x2) | Weeks 8 and 11 | 30% |
Mid-semester Test | 6 Sept 2024 | 10% |
Grok Worksheets | Every Monday, 6 PM (Week 3 onwards) | 10% |
Final Exam | End of Semester | 50% |
Academic Integrity
You are not permitted to use GitHub Copilot or any other automated code generation tool for any of the assessments in this subject. This is considered a substantial breach of academic integrity and will be treated as such.
You are not permitted to attempt to ājailbreakā the AI we use to help answer Ed questions without prior permission.
In this subject, all assessed work is to be completed on an individual basis. You should be aware that we have access to sophisticated similarity checking software to automatically identify pairs of programs that have similar sections, even when variable names have been altered. If duplicate submissions are detected, both parties, receiver and giver, will be referred to the Faculty of Engineering and Information Technology (FEIT) for handling under the University Discipline procedures. For further information, see the University resource on academic integrity.
The University also has penalties that apply for misuse of computing facilities. You should respect copyright, and not store any unauthorized copyright material on any University computer; should refrain from accessing accounts and files other than your own; should not use University computing facilities for any non-study purposes; and should keep your own account secure.
We are also well aware of the many different strategies that students have used in the past to violate these policies, and routinely refer students to FEIT. Our staff have sophisticated tools to check for violations of this policy.
More importantly, it is not in your interest to violate this policy, as your learning is contingent on you doing the work. You are spending your time and money on the subject, and owe it to yourself to get out what you can. If you are struggling, your staff are here to support you and help you get on track. We can not do so unless you respect the need for honesty.
Assigned Text
There is no textbook, as all of the materials you need to learn Python are contained within the Grok worksheets and lecture slides, and any content taught outside of Grok will be covered in the lecture slides.
However, past iterations of the subject have suggested Thinking Python as a helpful resource.
Subject Web Page
You are expected to visit both Ed and the course website every two or three days and read any subject announcements.
Getting Set Up For Coding in Python
The software tools used in this subject are available as free downloads, and if you install them on your home computer or laptop, you will be able to work from home (outside of Grok). You are also permitted to use any other Python programming environment available, including under the Windows Subsystem for Linux, and under MacOS on a Mac.
Another useful tool is VS Code. Note that knowledge of any particular software development tools is NOT part of the examinable content of this subject, VS Code and other similar editing environments are purely tools that facilitate your learning of Python programming.
We will also be using Ed, an online development environment. More details on Ed will be provided after the commencement of the semester.
Dress For Success
The most important thing you can do through the semester is to step methodically through the assigned exercises, making them work on the computer and then exploring variations, doing your own āwhat ifā experimentation. Doing this with another person will be even more rewarding and having a broad group of friends taking this subject is the second important thing. A strong support network means that you are much less likely to get left behind by lecture material, and regular discussions of the subject content as part of a study groupāboth asking and answering questionsāis also beneficial.
Early in the semester is always a good time to make new friendships, so for the next few weeks donāt hesitate to introduce yourself to others at the start of each lecture and workshop.