301038 Programming Proficiency Spring 2016 Edition: Spring 2016 Copyright c©2016 University Western Sydney trading as Western Sydney University ABN 53 014 069 881 CRICOS Provider No: 00917K No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without the prior written permission from the Dean of the School of Computing, Engineering & Mathematics. Copyright for acknowledged materials reproduced herein is retained by the copyright holder. All readings in this publication are copied under licence in accordance with Part VB of the Copyright Act 1968. Unit Details Unit Code: 301038 Unit Name: Programming Proficiency Credit Points: 10 Unit Level: Level 7 - Postgraduate coursework Assumed Knowledge: Not Applicable Pre-Requisites: Not Applicable Co-Requisites: Not Applicable Modes of Delivery Mode Hours Lecture Tutorial 3 Unit Coordinator Name: Zhuhan Jiang Phone: 96859336 Location: ER 1.04 Email: z.jiang@westernsydney.edu.au Consultation Arrangement: Consultation hours and their latest updates will be made available on the unit website. Note: Students with any problems, concerns or doubts should discuss those with the unit coordinator as early as they can. Note: The Learning Guide Companion supplements this document Contents 1 About Programming Proficiency 2 1.1 An Introduction to this Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 What is Expected of You . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Changes to Unit as a Result of Past Student Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Assessment Information 3 2.1 Unit Learning Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Approach to Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Contribution to Course Learning Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.4 Assessment Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 Assessment Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5.1 In-class Mini Test 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5.2 In-class Mini Test 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5.3 In-class Mini Test 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.5.4 Programming Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.5 Final Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.6 General Submission Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3 Teaching and Learning Activities 13 4 Learning Resources 15 4.1 Recommended Readings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1 1 About Programming Proficiency 1.1 An Introduction to this Unit This unit is aimed at the students whose undergraduate study is in a discipline other than computing or information technology. This unit first covers the programming fundamentals on data types, conditional selections and loop structures, and then further develops the problem solving skills through the use of user-defined functions, records, files, as well as the basic concept and techniques of object-oriented programming. A high level programming language is employed to implement all the problem solutions. 1.2 What is Expected of You Study Load A student is expected to study an hour per credit point a week. For example a 10 credit point unit would require 10 hours of study per week. This time includes the time spent within classes during lectures, tutorials or practicals. Attendance While attendance at the lectures/tutorials is not compulsory you are strongly advised to come to the classes. Attendance may be marked and may be taken into account when if a student appeals against his/her grade. International students should also be careful that they do not fall foul of the requirements attached to their student visas. Online Learning Requirements Unit materials will be made available on the unit’s vUWS (E-Learning) site (https://vuws.westernsydney.edu.au/) You are expected to consult vUWS at least twice a week, as all unit announcements will be made via vUWS. Teaching and learning materials will be regularly updated and posted online by the teaching team. No E-Learning resources required for this Unit. Special Requirements Essential Equipment: Access to a computer and Internet at home Legislative Pre-Requisites: Not Applicable 1.3 Changes to Unit as a Result of Past Student Feedback Student feedback plays a vital role in improving the quality and educational effectiveness of Western Sydney University units and in ensuring academic staff keep in touch with student needs. You are welcome to provide feedback that is related to the teaching of this unit. At the end of the semester you will be given the opportunity to complete a Student Feedback on Unit (SFU) questionnaire to assess the unit. If requested by your unit coordinator, you may also have the opportunity to complete a Student Feedback on Teaching (SFT) questionnaire to provide feedback for individual teaching staff. As a result of student feedback, the following changes and improvements have recently been made: – Further refinement on the content selection, organisation and presentation. 2 2 Assessment Information 2.1 Unit Learning Outcomes Outcome 1 Discuss and explain the concepts of data and procedural representation, programming languages, compilers, interpreters, and development environments. 2 Design and/or represent programs with flow chart and pseudo code. 3 Use effectively the basic data types, selection control, and loop structure. 4 Utilise a high-level programming language to develop problem solutions using standard IO or a proper user interface, files, and record or class structure. 5 Apply a modular design or an OO design to the software solution. 6 Explain the concept of object-oriented programming, and apply the concept to developing a software solution within an OOP environment. 2.2 Approach to Learning Theoretical coverage in the form of a brief lecture combined and intertwined with practical demo and exercises. Type Approach Lecture Tutorial Lecture at the start of class, followed by lab practical exercises. Lectures - all regular lecture notes are available on the unit website. They contain the main points and key issues for the unit, and indicate the depth of understanding expected of the students. As such, the lecturer may choose to elaborate more on certain more important or fundamental concepts or techniques during the class and leave the uncovered slides to be studied by the students themselves. Tutorial Practicals - provide students with the hands-on experience on the Java programming. These programming exercises will typically consolidate what the students have already learned in the current and previous week/s, with possibly some relevant additional materials as well. The instructor will also provide feedback immediately in class and in person whenever possible so that students are aware of their level of understanding as well as their progress on the unit as a whole. 3 2.3 Contribution to Course Learning Outcomes 3699: Master of Information and Communications Technology Course Learning Outcomes ULO 1 ULO 2 ULO 3 ULO 4 ULO 5 ULO 6 1 Demonstrate an advanced understanding of core and specialised concepts related to ICT body of knowledge, including established theories and recent developments with an understanding of the both local and international perspectives. Assured Introduced Assured Assured Developed Developed 2 Identify and analyse problems and issues related to ICT and articulate appropriate solutions and justify propositions in order to respond to stakeholder needs and goals, within the framework of professional and ethical practice. Introduced Introduced Assured Assured Developed Introduced 3 Demonstrate a high level of personal autonomy and accountability, in acquisition and application of knowledge and skills and in problem solving in professional context. Developed Introduced Developed Assured Assured Introduced 4 Apply enquiry-based learning, investigate and synthesise complex ideas and concepts, and develop ways of learning by exploring new knowledge within ICT discipline. Assured Assured Assured Introduced 5 Develop skills in scholarly research and communicate complex ideas in a variety of formats to diverse audiences. Introduced Introduced Introduced 3700: Graduate Diploma in Information and Communications Technology Course Learning Outcomes ULO 1 ULO 2 ULO 3 ULO 4 ULO 5 ULO 6 1 Develop an advanced understanding of core concepts related to ICT body of knowledge, including established theories and recent developments with an understanding of the both local and international perspectives. Assured Introduced Assured Assured Developed Developed 2 Identify, analyse and communicate problems and issues related to ICT and articulate appropriate solutions in order to respond to stakeholder needs and goals, within the framework of professional and ethical practice. Introduced Introduced Assured Assured Developed Introduced 3 Demonstrate a high level of personal autonomy and accountability in acquisition and application of knowledge and skills. Developed Introduced Developed Assured Assured Introduced 4 3701: Graduate Certificate in Information and Communications Technology Course Learning Outcomes ULO 1 ULO 2 ULO 3 ULO 4 ULO 5 ULO 6 1 Demonstrate knowledge of core concepts related to ICT, including established theories and recent developments, with an understanding of the both local and international perspectives. Assured Introduced Assured Assured Developed Developed 2 Identify, analyse and communicate problems related to ICT, and respond to stakeholder needs and goals, within the framework of professional and ethical practice. Introduced Introduced Assured Assured Developed Introduced 3698: Master of Information and Communications Technology (Advanced) Course Learning Outcomes ULO 1 ULO 2 ULO 3 ULO 4 ULO 5 ULO 6 1 Demonstrate an in-depth understanding of core concepts related to ICT body of knowledge, including established theories and recent developments with an understanding of the both local and international perspectives. Assured Introduced Assured Assured Developed Developed 2 Further develop knowledge and skills in specialised areas that are closely applicable to ICT profession. Introduced 3 Identify and analyse problems and issues related to ICT and articulate appropriate solutions and justify propositions in order to respond to stakeholder needs and goals, within the framework of professional and ethical practice. Introduced Introduced Assured Assured Developed Introduced 4 Demonstrate a high level of personal autonomy and accountability in acquisition and application of knowledge and skills and in problem solving in professional context. Developed Introduced Developed Assured Assured Introduced 5 Apply enquiry-based learning, investigate and synthesise complex ideas and concepts, and develop ways of learning in exploring new knowledge within ICT discipline. Assured Assured Assured Introduced 6 Develop skills in scholarly research, critically evaluate contemporary literatures in ICT field and communicate complex ideas in a variety of formats to diverse audiences. Introduced Introduced Introduced 5 2.4 Assessment Summary The assessment items in this unit are designed to enable you to demonstrate that you have achieved the unit learning outcomes. Completion and submission of all assessment items which have been designated as mandatory or compulsory is essential to receive a passing grade. To pass this unit you must: - Achieve 50% or more for the overall marks. - Achieve 10 marks or more for Assessment 3 (In-Class Mini Test 3), i.e. 40% of 25. - Submit all assessment items. - Conduct the presentation of the Final Project. Item Weight Due Date ULO’s Assessed Threshold In-class Mini Test 1 15% Wed 17/8/2016 (week 5) 1, 2, 3 No In-class Mini Test 2 15% Wed 7/9/2016 (week 8) 3, 4, 5 No In-class Mini Test 3 25% Wed 12/10/2016 (week 13) 1, 2, 3, 4, 5, 6 Programming Exercise 20% Fri 2/9/2016 (week 7) by midnight 2, 3, 4 No Final Project 25% Mon 17/10/2016 (week 14) by midnight 3, 4, 5, 6 No Note: Results may be moderated before you receive your results. Moderation is a process whereby the unit coordi- nator regulates the marking of individual markers to achieve consistency in the application of unit objectives, perfor- mance standards and marking criteria. Marks for an individual piece of assessment will not be changed after you have your results. You should note that, consistent with the Assessment Policy - Criteria and Standards-Based Assessment (http://policies.uws.edu.au/view.current.php?id=00227), the final marks for the cohort may also be adjusted if marks are very high or low or there are inconsistencies between groups. Feedback on Assessment Feedback is an important part of the learning process that can improve your progress towards achieving the learning outcomes. Feedback is any written or spoken response made in relation to academic work such as an assessment task, a performance or product. It can be given to you by a teacher, an external assessor or student peer and may be given to individually or to a group of students. As a Western Sydney University student, it is your responsibility to seek out and act on feedback that is provided to you as a resource to further your learning. Assessment feedback will be provided during or after the marking of the assessment items depending on the type of the assessments. 6 2.5 Assessment Details 2.5.1 In-class Mini Test 1 Weight: 15% Type of Collaboration: Individual Due: Wed 17/8/2016 (week 5) Submission: In class Format: Online quiz and programming practical test. Length: 1 hour Assessment Mode: Quiz Instructions: In-class testing at the start of the regular class, on the unit content already covered in the unit. The part of online quiz will be conducted first, followed by the written programming part. Resources: Most resources including potentially sample quiz questions are available on the unit website. Marking Criteria: Criteria High Distinction Distinction Credit Pass Unsatisfactory Concepts and techniques covered in written questions Super understanding and demonstrated proficiency Full understanding plus the effective use Sound grasp on the concepts and techniques Reasonable understanding and basic techniques No proper understanding 7 2.5.2 In-class Mini Test 2 Weight: 15% Type of Collaboration: Individual Due: Wed 7/9/2016 (week 8) Submission: In class Format: Online quiz and programming practical test. Length: 1 hour Assessment Mode: Quiz Instructions: In-class testing at the start of the regular class, on the unit content already covered in the unit. The part of online quiz will be conducted first, followed by the written programming part. Resources: Most resources including potentially sample quiz questions are available on the unit website. Marking Criteria: Criteria High Distinction Distinction Credit Pass Unsatisfactory Concepts and techniques covered in written questions Super understanding and demonstrated proficiency Full understanding plus the effective use Sound grasp on the concepts and techniques Reasonable understanding and basic techniques No proper understanding 8 2.5.3 In-class Mini Test 3 Weight: 25% Type of Collaboration: Individual Due: Wed 12/10/2016 (week 13) Submission: In class Format: Multiple choice questions and written programming work. Length: 2 hours Assessment Mode: Quiz Instructions: In-class testing at the start of the regular class, on the unit content already covered in the unit. Resources: Most resources including potentially sample quiz questions are available on the unit website. Marking Criteria: Criteria High Distinction Distinction Credit Pass Unsatisfactory Concepts and techniques covered in written questions Super understanding and demonstrated proficiency Full understanding plus the effective use Sound grasp on the concepts and techniques Reasonable understanding and basic techniques No proper understanding 9 2.5.4 Programming Exercise Weight: 20% Type of Collaboration: Individual Due: Fri 2/9/2016 (week 7) by midnight Submission: Online via the unit website Format: Separate questions to consolidate different programming aspects Length: 8 hours Assessment Mode: Practical Instructions: Best complete questions for each chapter during the lab practical for that chapter, or in the next few days immediately afterwards; Keep the receipt for the online submission; More detailed instructions are available on the Assignment 1 prescription page on the unit website. Resources: Most resources are available on the unit website Marking Criteria: Criteria High Distinction Distinction Credit Pass Unsatisfactory Concepts and techniques covered in written questions Super understanding and demonstrated proficiency Full understanding plus the effective use Sound grasp on the concepts and techniques Reasonable understanding and basic techniques No proper understanding 10 2.5.5 Final Project Weight: 25% Type of Collaboration: Group Due: Mon 17/10/2016 (week 14) by midnight Submission: Online via the unit website Format: Build a mock application software through preferably a team work. The project work should not exceed 2 student members. Length: 8 hours Assessment Mode: Applied Project Instructions: The development and delivery of a major project in a timely manner is an important indicator on the success of the project. As such, the deadlines for this final project need to be observed, and any late submissions need to be approved before the corresponding due dates. More detailed instructions are available on the Assignment 2 prescription page on the unit website. Resources: Most resources are available on the unit website. Marking Criteria: Criteria High Distinction Distinction Credit Pass Unsatisfactory Concepts and techniques covered in written questions Super understanding and demonstrated proficiency Full understanding plus the effective use Sound grasp on the concepts and techniques Reasonable understanding and basic techniques No proper understanding 11 2.6 General Submission Requirements Submission – All assignments must be submitted by the specified due date and time, using a completed and signed Assignment Cover Sheet provided in the Learning Guide Companion. – Complete your assignment, attach a completed and signed Assignment Cover Sheet, and follow the individual assessment items instructions on how to submit. Turnitin – The Turnitin plagiarism prevention system may be used within this unit. Turnitin is accessed via logging into vUWS for the unit. If Turnitin is being used with this unit, this means that your assignments have to be submitted through the Turnitin system. – Turnitin from iParadigms is a web-based text-matching software that identifies and reports on similarities between documents. It is also widely utilised as a tool to improve academic writing skills. – Turnitin compares electronically submitted papers against the following: – Current and archived web: Turnitin currently contains over 24 billion web pages including archived pages – Student papers: including Western Sydney University student submissions since 2007 – Scholarly literature: Turnitin has partnered with leading content publishers, including library databases, text- book publishers, digital reference collections and subscription-based publications (e.g. Gale, Proquest, Emerald and Sage) – Turnitin is used by over 30 universities in Australia and is increasingly seen as an industry standard. It is an important tool to assist students with their academic writing by promoting awareness of plagiarism Self-Plagiarising – You are to ensure that no part of any submitted assignment for this unit or product has been submitted by yourself in another (previous or current) assessment from any unit, except where appropriately referenced, and with prior permission form the Lecturer/Tutor/Unit Co-ordinator of this unit. Late Submission – If you submit a late assessment, without receiving approval for an extension of time, (see next item), you will be penalised by 10% per day for up to 10 days. In other words, marks equal to 10% of the assignment’s weight will be deducted from the mark awarded. – For example, if the highest mark possible is 50, 5 marks will be deducted from your awarded mark for each late day. – Saturday and Sunday are counted as one calendar day each. – Assessments will not be accepted after the marked assessment task has been returned to students. – This is consistent with Clause 51 of the Western Sydney University’s Assessment Policy - Criteria and Standards- Based Assessment. Extension of Due Date for Submission Extensions are only granted in exceptional circumstances. To apply for an extension of time: – Locate an application form via the Western Sydney University homepage or copy the following link: http://www.westernsydney.edu.au/currentstudents/current_students/forms – Application forms must be submitted to the Coordinator. – Requests for extension should be made no later than 3 working days before the due date of an assignment or other assessment item including web-based quizzes. – Appropriate, supporting documentation must be submitted with the application. – An application for an extension does not automatically mean that an extension will be approved – Assessments will not be accepted after the marked assessment task has been returned to students. Resubmission Resubmission of assessment items will not normally be granted if requested. Application for Special Consideration It is strongly recommended that you attend all scheduled learning activities to support your learning. If you have suffered misadventure, illness, or you have experienced exceptional circumstances that have prevented your attendance at class or your completion and submission of assessment tasks, you may need to apply for Special Consideration via the Western Sydney University website. http://www.westernsydney.edu.au/currentstudents/current_students/services_ and_facilities/special_consideration2 or the Student Centre. Special Consideration is not automatically granted. It is your responsibility to ensure that any missed content has been covered. Your lecturer will give you more information on how this must be done. 12 3 Teaching and Learning Activities Weeks Topic Instructions Assessments Due Week 1 18-07-2016 Software and hardware, storage, CPU; binary number; identifiers; simplest Java program, workflow program development Form groups of 2 people for the semester-long project; create simplest Java programs with a simple text editor Week 2 25-07-2016 Character strings; variables and assignments; primitive data types; expressions; data conversion; object-oriented programming; interactive programs Write simple Java programs and familiarise with the basic programming ingredients; create Java programs with simple IO; create primitive data and objects Week 3 01-08-2016 Create objects, String class; selected utility classes; enumerated types, wrapper classes Manipulate strings, generate random numbers, conduct textual IO via Scanner class Week 4 08-08-2016 Anatomy of a class and a method within a class; class extension, scope and visibility, constructors Build Java programs with several classes and class extension; use modifier public and private properly Week 5 15-08-2016 Consolidate the relatively competitive topics from the previous weeks Review selected topics in the previous weeks; complete more examples and programming exercises - In-class Mini Test 1 Week 6 22-08-2016 Selection, if-statement, Boolean expressions; while-loops, control of flow; comparing objects; basic flow chart and pseudo code Use selections and while loops in Java programs; logical operations, block statements Week 7 29-08-2016 switch-statements, do-loops, for-loops; iterators and ArrayList Create elaborate selections; make use of different loop constructs; use of ArrayList; read/write a file - Programming Exercise Week 8 05-09-2016 Consolidate the relatively competitive topics from the previous weeks Review selected topics in the previous weeks; complete more examples and programming exercises - In-class Mini Test 2 Week 9 12-09-2016 Week 10 19-09-2016 Software development activities; static variable and methods; class relationships, interfaces Identify classes and objects; create applications using multiple classes or interfaces; conduct proper program testing Week 11 26-09-2016 Declaring and using arrays; arrays of objects; variable length parameter Declare and initalise arrays; access command line parameters; use arrays in text-based applications Week 12 03-10-2016 Inheritance, polymorphism, overriding methods; exception handling; the try-catch statement Create subclasses, catch exceptions; continue with the final project Week 13 10-10-2016 Continuation of the previous week; selected programming techniques selected slides: complete those left from the previous week Work on the final project; last batch of miscellaneous programming techniques - In-class Mini Test 3 Week 14 17-10-2016 Group Project Presentations about 10 minutes for each group, depending the total available time Work on the final project and its documentation; conduct project presentation - Final Project Week 15 24-10-2016 Week 16 31-10-2016 Week 17 07-11-2016 13 Week 18 14-11-2016 The above timetable should be used as a guide only, as it is subject to change. Students will be advised of any changes as they become known. 14 4 Learning Resources 4.1 Recommended Readings Prescribed Textbook – Lewis, J. (2012). Java software solutions : foundations of program design (7th ed.). Boston: Pearson Addison- Wesley. Essential Reading – Eck, D. J. (2011, 4 January 2014). Introduction to Programming Using Java. 6th. from http://math.hws.edu/javanotes/ Additional Reading – Deitel, P. J., & Deitel, H. M. (2012). Java: how to program (9th ed.). Upper Saddle River, N.J: Prentice Hall. – Eckel, B. (2006). Thinking in Java (4th ed.). Upper saddle River, NJ: Prentice Hall. – Farrell, J. (2014). Java programming (7th ed.). Boston, MA: Course Technology / Cengage Learning. – Zakhour, S. (2013). The Java tutorial : a short course on the basics (5th ed.). Upper Saddle River, NJ: Addison- Wesley. 15