• Class Number 4225
  • Term Code 3250
  • Class Info
  • Unit Value 6 units
  • Topic Intensive Course
  • Mode of Delivery In Person
  • COURSE CONVENER
    • Dr Sergio Rodriguez Mendez
  • LECTURER
    • Dr Sergio Rodriguez Mendez
  • Class Dates
  • Class Start Date 08/08/2022
  • Class End Date 07/10/2022
  • Census Date 19/08/2022
  • Last Date to Enrol 08/08/2022
  • TUTOR
    • Alyssa Sha
    • Tim Arney
    • Madhawa Perera
    • Jonathan Ting
    • Zhangcheng Qiang
    • Xinghao Li
    • Yingnan Shi
SELT Survey Results

This course teaches introductory programming within a problem-solving framework applicable to data science. There is an emphasis on designing and writing small programs to solve data science problems that include data processing, data manipulation and data visualisation tasks. Testing and debugging are seen as integral to programming for data science. The course will also teach how to effectively use popular data science libraries for data analysis and manipulation. It will provide skills for tackling the `messiness' of real-world computer systems, libraries and their different versions, and data with a particular focus on solving problems using knowledge available on the Web. The course will be taught using the Python programming language. It will also require students to work collaboratively on software programs using the Git version control system and DevOps tools.

Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:

  1. Describe basic data types, operators, functions and the flow of execution in Python
  2. Articulate appropriate Web queries to retrieve existing solutions to programming problems
  3. Apply fundamental programming concepts, using the Python high-level general-purpose programming language, to solve data processing problems
  4. Critically implement fundamental data structures in Python for data cleaning, indexing, querying, sorting, aggregating and merging operations
  5. Appraise the fundamentals of some of the most widely used Python packages for data processing and related data processing problems
  6. Use a version control, task management and continuous integration system to enable group interactions and collaborative coding
  7. Develop data processing programs that read, transform, analyse and deploy/visualise data
  8. Generate project reports and package and document Python programs for demonstration purposes

Required Resources

All materials (lecture notes, videos, Web resources, and valuable references) will be published and accessible via Wattle.

The following resources may be helpful:

[1] Punch and Enbody, “The Practice of Computing Using Python (3rd Ed.)”, Pearson Education, Inc., 2016.

[2] Lutz, “Learning Python (5th Ed.)”, O’Reilly Media, 2013.

[3] https://www.python.org/

[4] http://www.tutorialspoint.com/python/

[5] http://pythontutor.com/

[6] http://stackoverflow.com/

Staff Feedback

Students will be given feedback in the following forms in this course:
  • Written comments
  • Verbal comments
  • Feedback to the whole class, to groups, to individuals, focus groups

Student Feedback

ANU is committed to the demonstration of educational excellence and regularly seeks feedback from students. Students are encouraged to offer feedback directly to their Course Convener or through their College and Course representatives (if applicable). The feedback given in these surveys is anonymous and provides the Colleges, University Education Committee and Academic Board with opportunities to recognise excellent teaching, and opportunities for improvement. The Surveys and Evaluation website provides more information on student surveys at ANU and reports on the feedback provided on ANU courses.

Class Schedule

Week/Session Summary of Activities Assessment
1 Welcome Introduction to Coding Data Structures I
2 Execution Models & Flow Control Data Formats and File I/O Functions Exercises (CodeBench)
3 Debugging Data Structures II Strings Exercises (CodeBench)
4 Searching for Help Libraries and APIs Computer Architecture * Exercises (CodeBench). * Assignment 1 (releasement).
5 INTENSIVE WEEK First Day: Content Revisited Visualisation I Lab exercises (Strings and other Data Structures) Second Day: Reading Source Code Software Development Basics - Tools and Environments Lab exercises (Functions) Third Day: Objects and Classes Tools and Practices Lab exercises (Objects & Classes) Fourth Day: Collaborating Advanced Revision Control Lab exercises (Collaborating & Version Control) Fifth Day: Visualisation II Refactoring Lab exercises (Group Assignment & Assignment 1) * Assignment 1 (submission). * Assignment 2 (releasement). * Group Project (releasement).
6 Basic Complexity Analysis Software Design * Exercises (CodeBench). * Assignment 2 (submission).
7 Optimising Code Exercises (CodeBench)
8 Data Pipelines and Command Line Processing
9 Advanced Programming Group Project (submission)

Assessment Summary

Assessment task Value Due Date Learning Outcomes
Weekly exercises (20%) 20 % * 1,2,3,4,5
Individual assignment 1 (20%) 20 % 09/09/2022 1,2,3,4,5,7
Individual assignment 2 (30%) 30 % 18/09/2022 1,2,3,4,5,7
Group project (30%) 30 % 09/10/2022 1,2,3,4,5,6,7,8

* If the Due Date and Return of Assessment date are blank, see the Assessment Tab for specific Assessment Task details

Policies

ANU has educational policies, procedures and guidelines , which are designed to ensure that staff and students are aware of the University’s academic standards, and implement them. Students are expected to have read the Academic Misconduct Rule before the commencement of their course. Other key policies and guidelines include:

Assessment Requirements

The ANU is using Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. For additional information regarding Turnitin please visit the ANU Online website. Students may choose not to submit assessment items through Turnitin. In this instance you will be required to submit, alongside the assessment item itself, hard copies of all references included in the assessment item.

Moderation of Assessment

Marks that are allocated during Semester are to be considered provisional until formalised by the College examiners meeting at the end of each Semester. If appropriate, some moderation of marks might be applied prior to final results being released.

Assessment Task 1

Value: 20 %
Learning Outcomes: 1,2,3,4,5

Weekly exercises (20%)

Exercises (20%): Exercises are aimed at practising specific programming concepts and algorithmic-solving skills. These must be done individually and submitted through the online CodeBench tool. A set of twenty exercises is assigned in Weeks 2, 3, 4, 6, and 7. We will take the best four out of five weekly exercises over the semester (for a maximum of 20%).


Deadline: At the end of each week (2, 3, 4, 6, and 7).


Late Policy:

No extension will be granted since the best four out of five count towards the final grade. If illness or other exceptional circumstances beyond the students' control result in them being unable to complete a minimum of four exercise sets, they must contact the course convenor as soon as possible.

Assessment Task 2

Value: 20 %
Due Date: 09/09/2022
Learning Outcomes: 1,2,3,4,5,7

Individual assignment 1 (20%)

Assignments 1 and 2 (50%): Learning a new skill is often best done in teams. In this course, we encourage discussion of assignments, but the final assignment submission must be your own work. In particular, you should not consult written or electronic notes from other students when preparing your solution.


Deadline: Assignment 1 (20%) is due on Friday, Week 5 (intensive week), at 16:00.


Extensions and Late Submissions:

Students will only be granted an extension on the submission deadline in extenuating circumstances, as defined by official ANU policy. In the case where the students have grounds for an extension, they should notify the course convener as soon as possible and provide written evidence in support of the case (such as a medical certificate).

Assessment Task 3

Value: 30 %
Due Date: 18/09/2022
Learning Outcomes: 1,2,3,4,5,7

Individual assignment 2 (30%)

Assignments 1 and 2 (50%): Learning a new skill is often best done in teams. In this course, we encourage discussion of assignments, but the final assignment submission must be your own work. In particular, you should not consult written or electronic notes from other students when preparing your solution.


Deadline: Assignment 2 (30%) is due on Sunday, Week 6, at 23:59.


Extensions and Late Submissions:

Students will only be granted an extension on the submission deadline in extenuating circumstances, as defined by official ANU policy. In the case where the students have grounds for an extension, they should notify the course convener as soon as possible and provide written evidence in support of the case (such as a medical certificate).

Assessment Task 4

Value: 30 %
Due Date: 09/10/2022
Learning Outcomes: 1,2,3,4,5,6,7,8

Group project (30%)

Group Project (30%): Projects are intended to be done in groups (of up to four students); collaboration is essential and the final submission must be a joint submission. Students should indicate a rough breakdown of contributions from each group member.


Deadline: Group project (30%) is due at the end of the final week of the course, on Sunday, Week 9, at 23:59.


Extensions and Late Submissions:

Students will only be granted an extension on the submission deadline in extenuating circumstances, as defined by official ANU policy. In the case where the students have grounds for an extension, they should notify the course convener as soon as possible and provide written evidence in support of the case (such as a medical certificate).

Academic Integrity

Academic integrity is a core part of our culture as a community of scholars. At its heart, academic integrity is about behaving ethically. This means that all members of the community commit to honest and responsible scholarly practice and to upholding these values with respect and fairness. The Australian National University commits to embedding the values of academic integrity in our teaching and learning. We ensure that all members of our community understand how to engage in academic work in ways that are consistent with, and actively support academic integrity. The ANU expects staff and students to uphold high standards of academic integrity and act ethically and honestly, to ensure the quality and value of the qualification that you will graduate with. The University has policies and procedures in place to promote academic integrity and manage academic misconduct. Visit the following Academic honesty & plagiarism website for more information about academic integrity and what the ANU considers academic misconduct. The ANU offers a number of services to assist students with their assignments, examinations, and other learning activities. The Academic Skills and Learning Centre offers a number of workshops and seminars that you may find useful for your studies.

Online Submission

Weekly Exercises

The CodeBench exercises provide students with an opportunity to practice programming and debugging while at the same time being exposed to a wide variety of coding examples. Exercises are submitted via the online CodeBench framework and are graded automatically. Students receive immediate feedback and have the opportunity to correct errors and resubmit (before the deadline). The framework provides students with a dashboard showing their progress. 10 out of the 20 exercises do not need to be completed in one session --students can save exercises and return to them later. The other half is timed and need to be completed in one session. Submitting an exercise automatically saves it (and evaluates it for correctness).


Assignments

Instructions for each assignment will be provided 2-3 weeks prior to the due date. Starter code for assignments will be made available via Wattle. Assignments should be submitted via Wattle and must be the student's own work.


Projects

Projects involve the development of a more substantial piece of software than assignments. They also involve working in a team. Projects are marked based on submission of the project code and a report. A detailed marking rubric will be published later in the course. Any library can be used for the projects but external code and other people's work must be clearly acknowledged. Students must discuss projects and intended programming languages with course staff prior to commencing the project.


More information will be provided in the Course Overview.


The ANU uses Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. While the use of Turnitin is not mandatory, the ANU highly recommends Turnitin is used by both teaching staff and students. For additional information regarding Turnitin please visit the ANU Online website.

Hardcopy Submission

For some forms of assessment (hand written assignments, art works, laboratory notes, etc.) hard copy submission is appropriate when approved by the Associate Dean (Education). Hard copy submissions must utilise the Assignment Cover Sheet. Please keep a copy of tasks completed for your records.

Late Submission

Students are expected to work consistently on assignments and projects throughout the semester. Marks will be awarded based on material submitted (i.e., through Wattle) at the assessment due date and time. Consistent with ANU policy, extensions will not be granted for mismanagement of time or resources. A doctor's certificate is required to receive an extension as a result of illness.


No submission of assessment tasks without an extension after the due date will be permitted. If an assessment task is not submitted by the due date, a mark of 0 will be awarded. OR Late submission of assessment tasks without an extension are penalised at the rate of 5% of the possible marks available per working day or part thereof. Late submission of assessment tasks is not accepted after 10 working days after the due date, or on or after the date specified in the course outline for the return of the assessment item. Late submission is not accepted for take-home examinations.

Referencing Requirements

Accepted academic practice for referencing sources that you use in presentations can be found via the links on the Wattle site, under the file named “ANU and College Policies, Program Information, Student Support Services and Assessment”. Alternatively, you can seek help through the Students Learning Development website.

Extensions and Penalties

Extensions and late submission of assessment pieces are covered by the Student Assessment (Coursework) Policy and Procedure. The Course Convener may grant extensions for assessment pieces that are not examinations or take-home examinations. If you need an extension, you must request an extension in writing on or before the due date. If you have documented and appropriate medical evidence that demonstrates you were not able to request an extension on or before the due date, you may be able to request it after the due date.

Privacy Notice

The ANU has made a number of third party, online, databases available for students to use. Use of each online database is conditional on student end users first agreeing to the database licensor’s terms of service and/or privacy policy. Students should read these carefully. In some cases student end users will be required to register an account with the database licensor and submit personal information, including their: first name; last name; ANU email address; and other information. In cases where student end users are asked to submit ‘content’ to a database, such as an assignment or short answers, the database licensor may only use the student’s ‘content’ in accordance with the terms of service — including any (copyright) licence the student grants to the database licensor. Any personal information or content a student submits may be stored by the licensor, potentially offshore, and will be used to process the database service in accordance with the licensors terms of service and/or privacy policy. If any student chooses not to agree to the database licensor’s terms of service or privacy policy, the student will not be able to access and use the database. In these circumstances students should contact their lecturer to enquire about alternative arrangements that are available.

Distribution of grades policy

Academic Quality Assurance Committee monitors the performance of students, including attrition, further study and employment rates and grade distribution, and College reports on quality assurance processes for assessment activities, including alignment with national and international disciplinary and interdisciplinary standards, as well as qualification type learning outcomes. Since first semester 1994, ANU uses a grading scale for all courses. This grading scale is used by all academic areas of the University.

Support for students

The University offers students support through several different services. You may contact the services listed below directly or seek advice from your Course Convener, Student Administrators, or your College and Course representatives (if applicable).

Dr Sergio Rodriguez Mendez
Sergio.RodriguezMendez@anu.edu.au

Research Interests


Knowledge Graphs, Ontology Engineering, Link Data & Semantic Web, Data Science, Information Retrieval, Machine Learning, Natural Language Processing (NLP) / Understanding (NLU), Brain-Computer Interface (Brain-Machine Interface), Internet of Things: sensors and actuators, Cloud/Fog/Edge Computing, Software Engineering and Architecture.

Dr Sergio Rodriguez Mendez

Dr Sergio Rodriguez Mendez
Sergio.RodriguezMendez@anu.edu.au

Research Interests


Dr Sergio Rodriguez Mendez

Alyssa Sha
Alyssa.Sha@anu.edu.au

Research Interests


Alyssa Sha

Tim Arney
Tim.Arney@anu.edu.au

Research Interests


Tim Arney

Madhawa Perera
u6788525@anu.edu.au

Research Interests


Madhawa Perera

Jonathan Ting
u6853992@anu.edu.au

Research Interests


Jonathan Ting

Zhangcheng Qiang
u7337696@anu.edu.au

Research Interests


Zhangcheng Qiang

Xinghao Li
XingHao.Li@anu.edu.au

Research Interests


Xinghao Li

Yingnan Shi
Yingnan.Shi@anu.edu.au

Research Interests


Yingnan Shi

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions