ASSESSMENT ITEM 1 – COLLATZ SEQUENCE

ASSESSMENT ITEM 1 – COLLATZ SEQUENCE

Assessment item 1 – Collatz Sequence

Value: 10%

Submission method options: Alternative submission method

TASK

Write a program to print out Collatz sequence (https://en.wikipedia.org/wiki/ Collatz_conjecture) for a user-supplied number. Prompt the user for a positive integer which will become the first number in the sequence. Next number in the sequence is derived as follows:

Ifprevious number is odd, the next number is 3 times the previous, plus
Ifprevious number is even, the next number is half of the

According to Collatz proposition, the sequence ultimately reaches 1 no matter what the starting number is.

Your program should print out all numbers in the sequence down to 1. At the end, display number of iterations it took to arrive at 1, and average of all values in sequence. For prettier output, insert a line break after printing every five numbers, align the numbers in columns and format the average value to two decimal places.

After printing a Collatz sequence, your program should ask the user if they want to print out another sequence. The loop will continue until user decides to quit.

Review the sample run below to clearly understand all requirements.

57
172
86
43
130

65
196
98
49
148

74
37
112
56
28

14
7
22
11
34

17
52
26
13
40

20
10
5
16
8

4
2
1
 
 

11 34 17
52 26

13 40 20
10 5

16 8 4
2 1

Your submission must consist of following tasks:

Task 1

Draw a flowchart that presents the steps of the algorithm required to perform the task specified. You can draw the flowcharts with a pen/pencil on a piece of paper and scan it for submission, as long as the handwriting is clear and legible. However, it is strongly recommended to draw flowcharts using a drawing software. Here are links to some free drawing tools

Task 2

Implement your algorithm in Python. Comment on your code as necessary to explain it clearly.

Your submission will consist of:

Your algorithm throughflowchart/s
Sourcecode for your Python implementation

RATIONALE

This assessment task will work towards assessing the following learning outcome/s:

  • Be able to analyze the steps involved in a disciplined approach to problem-solving, algorithm development and
  • Be able to demonstrate and explain elements of good programming
  • Be able to identify, isolate and correct errors; and evaluate the corrections in all phases of the programming
  • Be able to interpret and implement algorithms and program
  • Be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming
  • Be able to write code in an appropriate coding

MARKING CRITERIA AND STANDARDS

Criteria
High

Distinction

Distinction
Credit
Pass
Fail

Flowcharts

(3 marks)

Algorithm design is efficient in terms of time and memory.

Flowcharts precisely describe the algorithm design.

Flowcharts do not have any unnecessary component.

Flowcharts have at most one notation error.

Algorithm matches the program code.

Flowcharts follow the convention, contain at most three notation errors and produce algorithm at a high level.
 

Does not meet Pass criteria.

Program functionality and code style

(7 marks)

Python code contains only necessary statements and variables.

Inputs are validated and incorrect data is handled properly.

Program meets all specifications.

Output format is correct as required.

Sufficient inline comments are present.

Indentation is consistent throughout.

Python code produces correct results.

Output has minor formatting errors.

Small number of inline comments.

All variables have meaningful names.

Functionality is mostly implemented but code may contain minor syntax or logical errors.

Most variables have unambiguous names.

Python code is produced that does not execute properly. It may contain lot of syntax errors and/ or produce completely incorrect results.

Additional Note: The standards outlined for each criteria are cumulative. So, for example, to achieve the standard for high distinction your work also needs to meet the standards outlined for Pass, Credit and Distinction levels.

PRESENTATION

You have to prepare and present all source code, and flowchart/s separately and include them all in a single MS Word file identified by your name. See the ‘Requirements’ section below. The Python source code you write should be saved with a name such as ITC558assignment1YourName.py and then include a copy of it as text in the MS Word file named ITC558assignment1YourName.docx.

REQUIREMENTS

You have to save all the parts of the assignment (as described under ‘Presentation’ above) into a single MS Word document identified by your name as outlined in the section on presentation.

Failure to adhere to these requirements may disqualify the submission for marking.

Submit your complete assignment in MS Word format to Turnitin and insert your program source code as an object to your MS Word document (The subject lecturer will explain to you how to insert the object to your MS Word document).

Assessment item 2 – Forest Drawing

Value: 15%

Due Date: 03-May-2020

Return Date: 25-May-2020

Submission method options: Alternative submission method

TASK

In this assignment you will use turtle graphics to create an interactive forest drawing application.

Start by creating a module ‘utilities.py’ which should contain four drawing functions as listed below.

draw_triangle(centre_x, centre_y, width, height, pen_color, fill_color)
draw_rectangle(centre_x, centre_y, width, height, pen_color, fill_color)
draw_circle(centre_x, centre_y, radius, pen_color,fill_color)
stamp_turtle(centre_x, centre_y,color)

The parameter names are self explanatory. For example, the draw_triangle() function should draw an upwards pointing triangle with (centre_x, centre_y) located as shown in figure.

Additionally the module should also contain these functions:

distance(x1, y1, x2, y2) – to find the Cartesian distance between two points (x1, y1) and (x2,y2)
save_state()and restore_state() – the former should save turtle’s important parameters (position, pen color, fill color) in global (module-level)  The latter function will reload the turtle’s state from those same variables. The four drawing functions listed above should call these save and restore functions before and after a drawing respectively so that turtle’s state is restored to same values as it was before a drawing.

In your main file ‘forest.py’ you should import the utilities module and call its functions to do all drawings. No direct drawing should be needed from main file.

At the program start, you should disable all turtle animations and change the turtle’s icon to a bird shape (see sample code). Then turtle should be hidden from view. Next your program should implement the following requirements.

Create a large rectangle to represent drawing
On top of the rectangle, draw two small circles and write text to let the user choose between a bird and tree  When the program starts, tree must be chosen by default.
Handle mouse clicks in the turtle  Clicks within the drawing rectangle will draw a tree or bird depending on user’s selection. Mouse clicks outside the drawing rectangle are ignored, except for those within the selection circles which switch the drawing mode from bird to tree.
Drawing a tree consists of drawing one vertical rectangle (stem) and three overlapped triangles (branches and leaves).
The bird on the other hand should be drawn using turtle stamping at the click
Tree size should change randomly. First you will choose a reference size for tree components(stem rectangle and leave triangles). Then at the drawing time, generate a random value between 7 and 1.3 which will act as a scale factor so that individual trees can be shorter, equal to or bigger than the reference size.
When the bird mode is selected, the (bird shaped) turtle becomes visible in the top left When tree mode is selected, turtle hides itself again.
While the bird mode is selected, your program should respond to left (?) and right (?) keyboard  User will press these buttons in order to change the turtle’s tilt angle. By changing the title angle, birds can be drawn in many different orientations.

For further clarification of all these requirements, watch this video demo of the application: www.youtube.com/watch?v=ZYuyRYipZz4. You should try to make a drawing with similar style and colors.

Suggested dimensions and locations of all elements

Window size – 800 × 800

Inner rectangle – 700 × 700

Tree/bird selector circles – radius 10, centre points (0, 370) and (100, 370) Bird location in top left – (-340, 370)

Tree (unscaled) size – stem 15 × 80, leaves 100 × 50, 40% overlap of leaf triangles

Sample Codes

All the following turtle functions can be called after importing the turtle module.

turtle.setup(window_width, window_height)

# first create a click handler function which receives (x,y) location of click point

# Python call this function automatically when a left click is detected anywhere in the window

def handle_click(x, y): print(‘detected a click at’, x, y)

# in main function, declare hande_click as the listener function turtle.listen()

turtle.onscreenclick(handle_click) # pass the function name as parameter (no function call)

Tohandle keyboard buttons

# create a listener function which is called automatically on button press

def left_keypress(): print(‘left key detected’)

# in main function, declare left_keypress as the listener function turtle.listen()

turtle.onkey(left_keypress, ‘Left’)

Tochange turtle icon to a bird

turtle.register_shape(‘bird’,

((-22,-39),(-20,-7),(-7,3),(-11,7),(-12,9),(-11,10),(-9,10),(-3,7),

(10,24),(30,16),(13,18),(4,0),(14,-6),(6,-13),(0,-4),(-14,-13),(-22,-

39)))

turtle.shape(‘bird’)

Tochange turtle tilt angle (it is different from turtle heading)

turtle.tiltangle(new_tilt_value)

Constraints

In many online examples of turtle graphics applications, multiple turtle objects are used on the same window. You are NOT allowed that. Only use a single turtle for all drawings.

You should follow good programming practices, for example using named constants, creating several functions (top down design) and minimizing the use of global variables. A few global variables will be essential though, for example, to store the currently selected drawing object and the current tilt angle value.

Your assignment should consist of following tasks.

Task 1

Draw a flowchart of your handle_click() function, including flowcharts for all other functions that are called by handle_click.

You can draw the flowcharts with a pen/pencil on a piece of paper and scan it for submission, as long as the handwriting is clear and legible. However, it is strongly recommended to draw flowcharts using a drawing software.

Task 2

Select four sets of test data that will demonstrate the ‘normal’ operation of your program; that is, test data that will demonstrate what happens when a valid input is entered. Select three sets of test data that will demonstrate the ‘abnormal’ operation of your program. Please note that for this application, user input includes mouse clicks as well as keyboard button presses.

Set out test results in a tabular form as follows. It is important that the output listings (i.e., screenshots) are not edited in any way.

Test Data Table

Test data type
Test data
The reason it was selected
The output expected due to the use of the test data
The screenshot of actual output when the test data is used

Normal
 
 
 
 

Normal
 
 
 
 

Abnormal
 
 
 
 

Test Data Table

Test data type
Test data
The reason it was selected
The output expected due to the use of the test data
The screenshot of actual output when the test data is used

Abnormal
 
 
 
 

Task 3

Implement your program in Python. Comment on your code as necessary to explain it clearly. Run your program using the test data you have selected and complete the final column of test data table above.

Your submission will consist of:

Your algorithm throughflowchart/s
Thetable recording your chosen test data and results
Sourcecode for your Python implementation

Thus your directory for Assignment will at least contain two or three files (depending on whether you put the flowchart and the test table in the same file).

It is critically important that your test runs are unmodified outputs from your program, and that these results should be reproducible by the marker running your saved .py python program.

RATIONALE

This assessment task will work towards assessing the following learning outcome/s:

  • Be able to analyse the steps involved in a disciplined approach to problem-solving, algorithm development and
  • Be able to demonstrate and explain elements of good programming
  • Be able to identify, isolate and correct errors; and evaluate the corrections in all phases of the programming
  • Be able to interpret and implement algorithms and program
  • Be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming
  • Be able to write code in an appropriate coding

MARKING CRITERIA AND STANDARDS

Criteria
High Distinction
Distinction
Credit
Pass
Fail

Flowcharts

(3 marks)

Algorithm design is efficient in terms of time and memory.
Flowcharts precisely describe the algorithm
Flowcharts have at most one notation
Flowcharts follow the convention, contain at most three
 

Does not meet Pass criteria.

Criteria
High Distinction
Distinction
Credit
Pass
Fail

 
 
design.

Flowcharts do not have any unnecessary component.

error.

Algorithm matches the program code.

notation errors and produce algorithm at a high level.
 

Testing documentation

(3 marks)

Test data is explores every branch of the program.

To demonstrate comprehensive testing, number of test cases exceeds the required minimum.

Sound justification is provided for the selection of test data.

Diversity is evident among the chosen test data.

Minimum required number of normal and abnormal test cases are collected.

Brief reasoning is provided for the test data selection.

Selected test data is clearly presented in required table format.

At least two normal and two abnormal test cases are provided.

Test results are reproducible.

Does not meet Pass criteria.

Program functionality

(6 marks)

Python code contains only necessary statements and variables.

Program meets all specifications.

Output format is correct as required.

Python code produces correct results.

Output has minor formatting errors.

Functionality is mostly implemented but code may contain minor syntax or logical errors.

Python code is produced that does not execute properly. It may contain lot of syntax errors and/or produce completely incorrect results.

Code style

(3 marks)

Code includes function header comments and module level docstrings.

Code design is modular, containing several reusable functions.

Named constants are used instead of magic numbers.

Avoids unnecessary global variables.

All variables have meaningful names.

Sufficient inline

Uses many global variables.

Most variables have unambiguous names.

Small number of inline

Incomplete or largely dysfunctional code.

Criteria
High Distinction
Distinction
Credit
Pass
Fail

comments are present.

White space is appropriately used for code readability.

Indentation is consistent throughout.

Functions are used but they are not generic (reusable).

comments.

Additional Note: The standards outlined for each criteria are cumulative. So, for example, to achieve the standard for high distinction your work also needs to meet the standards outlined for Pass, Credit and Distinction levels.

PRESENTATION

You have to prepare and present all source code, test data table, and flowchart/s separately and include them all in a single MS Word file identified by your name. See the ‘Requirements’ section below. The Python source code you write should be saved with a name such as ITC558assignment2YourName.py and then include a copy of it as text in the MS Word file named ITC558assignment2YourName.docx.

The other parts of the assignment (such as your flowchart/s and your table of test data) should be included in the same MS Word file and save as ITC558assignment2YourName.docx.

It is critically important that your test runs are unmodified outputs from your program, and that these results should be reproducible by the marker running your saved ITC558assignment2YourName.py python program.

REQUIREMENTS

You have to save all the parts of the assignment (as described under ‘Presentation’ above) into a single MS Word document identified by your name as outlined in the section on presentation.

Failure to adhere to these requirements may disqualify the submission for marking.

Submit your complete assignment in MS Word format to Turnitin and insert your program source code as an object to your MS Word document (The subject lecturer will explain to you how to insert the object to your MS Word document).

Assessment item 3 – Data Analysis

Value: 15%

Due Date: 24-May-2020

    Return Date: 16-Jun-2020

Submission method options: Alternative submission method

TASK

In this assignment, you will perform some basic data analysis on a dataset obtained from the Gapminder (http://www.gapminder.org/) website which collects and presents authentic statistics of all countries worldwide.

Download this zip package (https://doms.csu.edu.au/csu/file/

8ecc7393-0664-44fc-8288-8a5a29de687b/1/ITC558_202030_A3_dataset.zip) which contains three dataset files: ‘life.csv’, ‘bmi_men.csv’ and ‘bmi_women.csv’. First file contains data about average life expectancy (in years) for most countries worldwide. Other two files contain data about men and women average Body Mass Index (BMI) for the same set of countries. These are plain text files with all data separated by commas. You can also open the files in a spreadsheet application to better understand their contents. All three files have a similar structure — first row contains the year headers and first column contains the country names. There is data  about 186 countries for a period of 1980 to 2008.

Your program should perform the following steps.

Read all the data from files and save into a 2D list and two

The life expectancy data should be stored in the form of two dimensional list where the outer list has 186 elements. Each inner list contains data for specific countries.

The BMI data from both files should be stored in two dictionaries which map country names to a list of data values. Both dictionaries will contain 186 keys, with each key associated with a list of 29 values (BMI data from 1980 to 2008).

Following diagram illustrates the required data structures. Note that all numbers have been converted from string to float data types.

You should use these collections for the next five steps — do not read the files again.

Some users may be interested in gender neutral BMI  For this purpose, create another Python dictionary bmi_all of the same structure and size as bmi_men (or bmi_women) and populate it with worldwide gender-average BMI values. For example bmi_all for Zimbabwe in 2008 would be 23.3.

Use the bmi_all dictionary from step 2 to calculate worldwide statistics (min, max and median (https://en.wikipedia.org/wiki/Median)) for a user-selected See example in the sample-run below. Median value should be displayed with a precision of 3 decimal places.

Compare the latest 5-year BMI data for men against women for the three most populous countries in the world (China, India, United States). First work out the 2004 to 2008 men’s BMI average for these countries. Repeat the same for women’s Then display the men and women BMI values and thepercentage difference (https://www.mathsisfun.com/percentage- difference.html) between the two. Display all values with 2 decimal places precision.

Plot life expectancy trend of a user selected. Your program will prompt the user for a country name (case insensitive) and then create a line chart showing life expectancy variation over the years. Sample run below shows an example.

To explore the correlation between BMI and life expectancy, plot worldwide average values of the two on the same chart. For this purpose, your program will create two lists of 29 elements each to store worldwide average BMI and life expectancy data for each  Refer to sample run for an example.

[Disclaimer: Correlation does not imply causation (https://www.tylervigen.com/spurious- correlations).]

For plotting charts in step 5 and 6, use the matplotlib library. Consult the textbook section 7-8 to learn how to draw simple charts. The chart for step 6 is rather complex because it contains two y-axis. For this part, please review and adapt the sample code below.

Important Note: Other than matplotlib, you can NOT use any library module or third party module in this assessment.

Your program should be able handle following invalid inputs or error situations.

Any of the three dataset files do not exist or can’t be
Non-numericor out of range year value provided by
Incorrect country name provided by

A sample run of the program is given below to clearly demonstrate all the requirements.

A simple data analysis program

— Step 1 —

All dataset has been read into memory.

— Step 2 —

Gender-average BMI data stored in a new dictionary.

— Step 3 —

Select a year to find statistics (1980 to 2008): garbage

That is an invalid year.

Select a year to find statistics (1980 to 2008): 1990

In 1990, countries with minimum and maximum BMI values were ‘Vietnam’ and ‘Tonga’ respectively.

Median BMI value in 1990 was 24.450

— Step 4 —

Men vs women BMI in highest population countries:

*** China *** Men: 22.82

Women: 22.86

Percent difference: 0.18%

*** India *** Men: 20.92

Women: 21.22

Percent difference: 1.42%

*** United States *** Men: 28.30

Women: 28.18

Percent difference: 0.42%

— Step 5 —

Enter the country to visualize life expectancy data: jupiter

‘jupiter’ is not a valid country.

Enter the country to visualize life expectancy data: sRi laNka

Plot for ‘Sri Lanka’ opens in a new window.

— Step 6 —

Your assignment should consist of following tasks.

Task 1

Draw a flowchart that represent the algorithms of step 2 and step 6. Include flowcharts of any functions that are called during these steps. You can draw the flowcharts with a pen/pencil on a piece of paper and scan it for submission, as long as the handwriting is clear and legible.

However, it is strongly recommended to draw flowcharts using a drawing software.

Task 2

Select six sets of test data that will demonstrate the ‘normal’ operation of your program; that is, test data that will demonstrate what happens when a VALID input is entered. Select four sets of test data that will demonstrate the ‘abnormal’ operation of your program.

Set out the test cases in a tabular form as follows. It is important that the output listings (i.e., screenshots) are not edited in any way.

Test Data Table

Test data type
Test data
The reason it was selected
The output expected due to the use of the test data
The screenshot of actual output when the test data is used

Normal
 
 
 
 

Normal
 
 
 
 

Abnormal
 
 
 
 

Abnormal
 
 
 
 

Task 3

Implement your algorithm in Python. Comment on your code as necessary to explain it clearly. Run your program using the test data you have selected and complete the final column of test data table above.

Your submission will consist of:

Your algorithm through flowchart/s
The table recording your chosen test data and results

Source code for your Python implementation

Thus your directory for Assignment will at least contain two or three files (depending on whether you put the flowchart and the test table in the same file).

It is critically important that your test runs are unmodified outputs from your program, and that these results should be reproducible by the marker running your saved .py python program.

RATIONALE

This assessment task will work towards assessing the following learning outcome/s:

  • Be able to analyse the steps involved in a disciplined approach to problem-solving, algorithm development and
  • Be able to demonstrate and explain elements of good programming
  • Be able to identify, isolate and correct errors; and evaluate the corrections in all phases of the programming
  • Be able to interpret and implement algorithms and program
  • Be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming
  • Be able to write code in an appropriate coding

MARKING CRITERIA AND STANDARDS

Criteria
High Distinction
Distinction
Credit
Pass
Fail

Flowcharts

(3 marks)

Algorithm design is efficient in terms of time and memory.

Flowcharts precisely describe the algorithm design.

Flowcharts do not have any unnecessary component.

Flowcharts have at most one notation error.

Algorithm matches the program code.

Flowcharts follow the convention, contain at most three notation errors and produce algorithm at a high level.
 

Does not meet Pass criteria.

Testing documentation

(3 marks)

Test data is explores every branch of the program.

To demonstrate comprehensive testing, number of test cases exceeds the required minimum.

Sound justification is provided for the selection of test data.

Diversity is evident among the chosen test data.

Minimum required number of normal and abnormal test cases are collected.

Brief reasoning is provided for the test data

Selected test data is clearly presented in required table format.

At least two normal and two abnormal test cases are provided.

Does not meet Pass criteria.

Criteria
High Distinction
Distinction
Credit
Pass
Fail

selection.

Test results are reproducible.

Program functionality

(6 marks)

Python code contains only necessary statements and variables.

All exceptions and errors are handled properly, included those which are not part of specifications.

Program meets all specifications.

Output format is correct as required.

Python code produces correct results.

Output has minor formatting errors.

Functionality is mostly implemented but code may contain minor syntax or logical errors.

Python code is produced that does not execute properly. It may contain lot of syntax errors and/or produce completely incorrect results.

Code style

(3 marks)

Code includes function header comments and module level docstrings.

Code design is modular, containing several reusable functions.

Named constants are used instead of magic numbers.

White space is appropriately used for code readability.

Avoids unnecessary global variables.

All variables have meaningful names.

Sufficient inline comments are present.

Indentation is consistent throughout.

Functions are used but they are not generic (reusable).

Uses many global variables.

Most variables have unambiguous names.

Small number of inline comments.

Incomplete or largely dysfunctional code.

Additional Note: The standards outlined for each criteria are cumulative. So, for example, to achieve the standard for high distinction your work also needs to meet the standards outlined for Pass, Credit and Distinction levels.

PRESENTATION

You have to prepare and present all source code, test data table, and flowchart/s separately and include them all in a single MS Word file identified by your name. See the ‘Requirements’ section below. The Python source code you write should be saved with a name such as ITC558assignment3YourName.py and then include a copy of it as text in the MS Word file named ITC558assignment3YourName.docx.

The other parts of the assignment (such as your flowchart/s and your table of test data) should be included in the same MS Word file and save as ITC558assignment3YourName.docx.

It is critically important that your test runs are unmodified outputs from your program, and that these results should be reproducible by the marker running your saved ITC558assignment3YourName.py python program.

REQUIREMENTS

You have to save all the parts of the assignment (as described under ‘Presentation’ above) into a single MS Word document identified by your name as outlined in the section on presentation.

Failure to adhere to these requirements may disqualify the submission for marking.

Submit your complete assignment in MS Word format to Turn it in and insert your program source code as an object to your MS Word document (The subject lecturer will explain to you how to insert the object to your MS Word document).

Assessment item 4 – Weekly topic quizzes

Value: 10%

Due Date: Variable Date

Return Date: –

Submission method options: Interact2 Test

TASK

Beginning in Week 2, you are required to complete a series of ten topic quizzes, each associated with one subject topic. You can attempt each weekly quiz once only, and it must be completed in 15 minutes after it has started or it will automatically be submitted, so be prepared before you sit for the quiz.

No extensions are allowed for the weekly quizzes. However, if you have an approved special consideration, you may be exempted from the quiz. In case an exemption is granted for a quiz, your total mark for the weekly quizzes will be based on the average mark of the other quizzes.

You can find these quizzes in the ‘Assessment 4’ page in the Interact site.

Quiz opening dates, due dates and topics are listed below. After submission you will be able to see the score in Interact2 ‘My Grades’ page. Correct answers will only be revealed after the due date.

Quiz
Opening Date

(00:01 AEST)

Due Date

(23:59 AEST)

Topics Covered

1
02/Mar/2020
15/Mar/2020
Topic 1: Programming Fundamentals

2
09/Mar/2020
22/Mar/2020
Topic 2: Selection Structures

3
16/Mar/2020
29/Mar/2020
Topic 3: Repetition Structures

4
23/Mar/2020
05/Apr/2020
Topic 4: Software Testing

5
13/Apr/2020
26/Apr/2020
Topic 5: Turtle Graphics

6
20/Apr/2020
03/May/2020
Topic 6: Functions and Modules

7
27/Apr/2020
10/May/2020
Topic 7: Files and Exceptions

8
04/May/2020
17/May/2020
Topic 8: Sequences and Lists

9
11/May/2020
24/May/2020
Topic 9: Strings and Dictionaries

10
25/May/2020
07/Jun/2020
Topic 10: Object Oriented Programming

RATIONALE

This assessment task will assess the following learning outcome/s:

  • Be able to analyse the steps involved in a disciplined approach to problem-solving, algorithm development and
  • Be able to demonstrate and explain elements of good programming
  • Be able to identify, isolate and correct errors; and evaluate the corrections in all phases of the programming
  • Be able to interpret and implement algorithms and program
  • Be able to apply and justify the concept of object orientation as an approach to data
  • Be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming
  • Be able to write code in an appropriate coding
  • Be able to compare and contrast aspects of the procedural and object oriented programming

The quizzes are intended as formative assessment tasks to test your knowledge, understanding and skill development, and also to monitor your progress in learning good programming principles using the Python language.

MARKING CRITERIA AND STANDARDS

Each multiple choice question carries one mark.

Criteria
High

Distinction

Distinction
Credit
Pass
Fail

Demonstrate an ability to answer questions about concepts learned in
A mark of 85%
A mark of 75%
A mark of 65%
A mark of 50%
A

mark

Criteria
High

Distinction

Distinction
Credit
Pass
Fail

the subject. The concepts tested are drawn from the text book, lectures, tutorials, modules and forum discussions.

or more was scored in the test

or more was scored in the test

or more was scored in the test
or more was scored in the test
below 50%

was scored in the test

Assessment item 5 – Final exam

Value: 50%

Due Date: To be advised. Your exam timetable (http://student.csu.edu.au/study/exams/exam- timetable) will be released via the Student Portal. Check dates for the exam period and your responsibilities (http://student.csu.edu.au/study/exams).

Duration: 2 hours

Submission method options: Alternative submission method

REQUIREMENTS

UPDATE to exam based on COVID-19.

Your exam will be a time-limited online exam. The exam will be timetabled as per normal and you will be notified of the time via the exams office. The exam questions will be available from a interact 2 test within your interact 2 site. The test will become active at the time given in your exam timetable. You will then submit your answers in the online test.

The time allocated to complete the exam is 10 minutes reading time + 2 hours writing time + 15 minutes technology allowance. The technology allowance gives you extra time due to dealing with the different medium. You are allowed to give answers for the whole time, however it is your responsibility to submit on time. Late submissions attract heavy late penalties.

Multiple choice questions will be randomised. [Not applicable for all exams] Text based questions can be typed directly into the test.

If you need to include a diagram or something else that is difficult to type, then the question will allow a file upload. [Not applicable for all exams]

It is expected that an example version of a test will be available beforehand for you to practice the different question types.

For file upload question types (where they apply): For diagrams you can are encouraged to use online diagram tools like Lucid Chart (https://www.lucidchart.com) or Draw.io (https://app.diagrams.net/) to generate diagrams. Then you can export as an image and upload that file. If you handwrite, you are recommended to use the Genius Scan app on your mobile https://thegrizzlylabs.com/genius-scan to create a file to upload. We recommend that you practice prior to your exam so you are familiar with the process in the exam environment to avoid unnecessary pressure. Your lecturer will give more information about this during revision.

Academic integrity is important (https://www.csu.edu.au/current-students/learning- resources/build-your-skills/academic-integrity). Thus various checks will be used to look for academic misconduct. Written answers will be processed by turnitin to look for similarities to web sources and other students’ submissions. Uploaded files will be compared for similarities. IP addresses will be recorded to detect collusion and impersonation. You may be interviewed to explain why you answered questions in certain ways. Penalties for academic misconduct are severe. Also, people who make money from academic misconduct do resort to blackmail to make more money from their victims.

The sample exam continues to be a guide to the style of questions used in your exam.

———

The final exam is a 2-hour exam consisting of 20 multiple choice and 8 short answer questions. The concepts tested are drawn from the text book, lectures, tutorials, Interact2 topics and forum discussions. Students must pass this exam in order to pass the subject – regardless of the marks achieved on the other assessment items.

RATIONALE

This assessment task will assess the following learning outcome/s:

  • Be able to analyse the steps involved in a disciplined approach to problem-solving, algorithm development and
  • Be able to demonstrate and explain elements of good programming
  • Be able to identify, isolate and correct errors; and evaluate the corrections in all phases of the programming
  • Be able to interpret and implement algorithms and program
  • Be able to apply and justify the concept of object orientation as an approach to data
  • Be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming
  • Be able to write code in an appropriate coding
  • Be able to compare and contrast aspects of the procedural and object oriented programming

A final exam is used to check that students actually do understand the material, and can apply the programming techniques presented throughout the session. It serves to verify that the knowledge and skills that students possess are consistent with the work they have presented in assignments. Students who have submitted assignments during the session that are not their own original work are unlikely to be able to pass the exam.

The exam questions cover all the learning objectives for this subject.

MARKING CRITERIA AND STANDARDS

Criteria
High

Distinction

Distinction
Credit
Pass
Fail

Part 1: 20 multiple choice questions
 
 

A mark of 15 or above was scored in part one of the exam: multiple choice questions

A mark of 13 or above was scored in part one of the exam: multiple choice questions

A mark of 10 or above was scored in part one of the exam: multiple choice questions

A mark below 10 was scored in part one of the exam: multiple choice questions

Students will demonstrate an ablility to give correct answers to multiple choice questions about concepts learned in the subject.
 

A mark of 17 or above was scored in part one of the exam: multiple choice questions

Each questions carries 1 mark for a possible total of 20 marks
 

Part 2: 8 short answer questions

Students will demonstrate their understanding of concepts learned in the subject by writing short answers to the set questions.

Each question carries 10 marks for a possible total of 80 marks.

Student demonstrates a clear understanding of the concept and has correctly applied that understanding to the concept. In addition, the answer is clear, concise, correct and complete.

Student demonstrates a clear understanding of the concept and has correctly applied that understanding to the concept in answering the question.

Student demonstrates a clear understanding of the concept. An attempt has been made to apply that understanding to the concept in answering the question.

Student demonstrates a clear understanding of the concept.

Student fails to demonstrate an understanding of the concept.

MATERIAL PROVIDED BY THE UNIVERSITY

Multiple choice answer forms and answer booklets will be supplied.

MATERIAL PROVIDED BY THE STUDENT

2B pencil, eraser, and writing tools.

SAMPLE EXAM PAPER

You are encouraged to complete this subject’s sample exam (https://doms.csu.edu.au/csu/ file/069d208f-b3ed-4feb-9ce4-5f1718db0bba/1/Sample%20Exam%20ITC558%20201730.pdf) in preparation for the end-of-session exam.

Academic integrity

Academic integrity means acting with honesty, fairness and responsibility, and involves observing and maintaining ethical standards in all aspects of academic work. This subject assumes that you understand what constitutes plagiarism, cheating and collusion. If you are a new student we expect you to complete the modules called Academic Integrity at CSU (http://student.csu.edu.au/library/integrity/academic-integrity-course).

Charles Sturt University treats plagiarism seriously. We may use Turnitin to check your submitted work for plagiarism. You can use Turnitin to check for plagiarism (http://student.csu.edu.au/library/integrity/referencing-at-csu/checking) in your assessments before submission.

Referencing

Referencing is an important component of academic work. All assessment tasks should be appropriately referenced. The specific details of the referencing requirements are included in each assessment task description. Get referencing style guides and help (http://student.csu.edu.au/library/integrity/referencing-at-csu) to use for your assessments.

How to submit your assessment items

ONLINE SUBMISSION PROCESS

Assessment items that are completed within the Interact 2 site, such as quizzes, tests and self and peer assessments in the blog and wiki are noted in the assessment section above. You need to complete these tasks within your subject site.

Assessment tasks that are NOT completed through the Subject site need to be submitted electronically via Turnitin site by the due date. Turnitin class details for this subject will be given by your lecturer.

Unless advised otherwise, all Turnitin submissions are due by midnight (AEST) of the date specified. Please note that the time and the date of your Turnitin submission will be used to determine your official submission time.

All textual elements within an assessment must be submitted in a format that is readable by Turnitin. Specific exceptions, where an assessment requires the insertion of image-based evidence of workings will be outlined in the context of the assessment.

Students that deliberately attempt to insert the content of assessments in a format that is not readable by Turnitin may be subject to Academic misconduct investigations.

Additional Submission Information:

It is recommended that your name, student ID and page number are included in the header or footer of every page of any assignment. You are also required to rename your assignment file before you submit via Turnitin as per below protocol:

SUBJECT CODE, SI, SURNAME, STUDENT ID, ASSESSMENT NUMBER, SESSION. Example – ITC558SI PATEL 11554466 A1 202030.doc

POSTAL SUBMISSION PROCESS

Under normal circumstances, postal submissions will not be accepted for any of the assessments required.

HAND DELIVERED SUBMISSION PROCESS

Under normal circumstances, hand-delivered submissions will not be accepted for any of the assessments required.

ALTERNATIVE SUBMISSION PROCESS

See online submission above.

Extensions

Assessment Extensions to be Included in Subject Outlines (for offerings without the study planner)

It is best to complete assessment items by the due date. However, when something unavoidable comes up an extension may be possible. The following principles are used when processing extensions

For in-session assessment items, an extension request for up to three (3) calendar days can be made by emailing your subject coordinator directly before the due date. In your email please state the reason why you need more time as well as what precisely you are requesting. Supporting documentation is not required. If an extension is requested in the above format with a valid reason and your request does not disadvantage other students, the extension will be
For in-session assessment items, extension requests of more than three (3) calendar days must be made via the special consideration form: https://apps.csu.edu.au/ specialcons/ . The request must be made before the due date and must include supporting. Acceptable reasons are given in the Special Consideration Policy https://policy.csu.edu.au/view.current.php?id=00298 . Each request will be considered on a case by case basis. The request may not be granted. The maximum extension possible will be seven (7) calendar days.

If you receive an extension, then you should expect the assessment item and its feedbackto be returned  If you submit later than the extended due date you will receive late penalties as per guidelines below.
Unlessyour extension permits otherwise, submissions received 10 days after the original due date will receive
For end of session exams, you can request a supplementary exam viahttps://apps.csu.edu.au/specialcons/ . This request must be made within 3 working days of the date of exam and must include supporting documentation. Acceptable reasons are given in the Special Consideration Policy https://policy.csu.edu.au/current.php?id=00298. For medical issues; a CSU medical certificate is required. If the supplementary exam (SX) is awarded then your exam is moved to the next examination period. In order to preserve exam integrity and manage the logistics of exams, the timing of a supplementary exam is heavily restricted.

How to apply for special consideration

Academic regulations provide for special consideration to be given if you suffer misadventure or extenuating circumstances during the session (including the examination period) which prevents you from meeting acceptable standards or deadlines. Find the form on the Student Portal Special Consideration, Misadventure, Advice and Appeals (http://student.csu.edu.au/ study/academic-advice) page.

Penalties for late submission

The penalty for late submission of an assessment task (without obtaining the Subject Coordinator’s approval for an extension) will be:

10% deduction per day, including weekends, of the maximum marks allocated for the assessment task, i.e. 1 day late 10% deduction, or 2 days late 20% deduction.

An example of the calculation would be:

Maximum marks allocated = 20

Penalty for one day late = 2 marks (so, a score of 18/20 becomes 16/20 and a score of 12/20 becomes 10/20).

If an assignment is due on a Friday but is not submitted until the following Tuesday, then the penalty will be four days (40% deduction or 8 marks in the example above).

Submissions more than 10 days late will be acknowledged as received but will not be marked.

Resubmission

Under normal circumstances, resubmission of assessment items will not be accepted for any of the assessments required in this subject.

Feedback processes

Feedback on your assignment can be viewed on Turnitin after the assignment results are released. You may also approach the lecturer in class for further clarification or feedback on the assignment.

Assessment return

You should normally expect your marked assessment to be returned to you within 15 working days of the due date, if your assessment was submitted on time. If you submitted your assessment on time but not received it back by the return date, you should make enquiries in the first instance to the subject coordinator.

Evaluation of subjects

Charles Sturt University values constructive feedback and relies on high response rates to Subject Experience Surveys (SES) to enhance teaching. Responses are fed back anonymously to Subject Coordinators and Heads of Schools to form the basis for subject enhancement and recognition of excellence in teaching. Schools report on their evaluation data; highlighting good practice and documenting how problems have been addressed. You can view a summary of survey results via the Student Portal SES Results (https://student.csu.edu.au/study/subject- experience-survey-results) page.

We strongly encourage you to complete your online Subject Experience Surveys. You will be provided with links to your surveys via email when they open three [3] weeks before the end of session.

Changes and actions based on student feedback

The teaching team had a thorough discussion on further improvements based on their experience and students’ feedback. As a result the assignments are modified to require flowcharts instead of NS diagrams.

Learning analytics

Learning Analytics refers to the collection and analysis of student data for the purpose of improving learning and teaching. It enables the University to personalise the support we provide our students. All Learning Analytics activities will take place in accordance with the Charles Sturt University Learning Analytics Code of Practice. For more information, please visit the University’s Learning Analytics (http://www.csu.edu.au/division/student-learning/home/ analytics-and-evaluations/learning-analytics) website.

Data about your activity in the Interact2 site and other learning technologies for this subject will be recorded and can be reviewed by teaching staff to inform their communication, support and teaching practices.

Services & Support

Your Student Portal (http://student.csu.edu.au/) tells you can how you can seek services and support. These include study, admin, residential, library, careers, financial, and personal support.

Develop your study skills

Develop your study skills (https://student.csu.edu.au/study/skills) with our free study services. We have services online, on campus and near you. These services can help you develop your English language, literacy, and numeracy.

Library Services

CSU Library (https://student.csu.edu.au/library) provides access to the eBooks, journal articles, books, and multimedia resources needed for your studies and assessments. Get the most out of these resources by contacting Library staff either online or in person, or make use of the many Library Resource Guides, videos and online workshops available.

Policies & Regulations

This subject outline should be read in conjunction with all academic policies and regulations. Please refer to the collated list of policies and regulations relevant to studying your subject(s) (http://student.csu.edu.au/administration/policies-regulations-subjects) which includes links to Charles Sturt University’s Policy Library (http://www.csu.edu.au/about/policy) – the sole authoritative source of official academic and administrative policies, procedures, guidelines, rules and regulations of the University.

Subject Outline as a reference document

This Subject Outline is an accurate and historical record of the curriculum and scope of your subject. Charles Sturt University’s Subject Outlines Policy (https://policy.csu.edu.au/ view.current.php?id=00267) requires that you retain a copy of the Subject Outline for future use such as for accreditation purposes.

Is this question part of your assignment?

Place order