300581 Programming Techniques Autumn 2012 School of Computing and Mathematics

   300581 Programming Techniques Autumn 2012 School of Computing and Mathematics Learning Guide

HOW TO USE THIS LEARNING GUIDE

  This Learning Guide supplements the Unit Outline and is designed to Reading help you navigate through the unit. It will help you focus on what you need to do to prepare for the various assessment tasks throughout the

  Activity unit. You should consult the Learning Guide on a regular basis, as you plan your study, as this guide contains information on how best to

  Important prepare for each assessment task. information

  The Learning Guide also offers tips to assist you in developing the skills Deadline and techniques of an effective, independent learner.

  However, if you have any particular problems or issues regarding this Online activity

  Unit, please take these up with the Unit Coordinator so that they may be resolved as soon as possible. As an adult learner, it is expected Warning that you will be responsible for your own learning and take the necessary and appropriate steps to ensure your success. Hint

  A standard set of icons is used throughout the learning guide to make Toolkit navigation easier. Use the icons to quickly identify important information, things you need to do and hints for doing them.

  Checklist

  STAFF Unit Coordinator

  Mark Johnston Building 26, Room 01.07 Campus Campbelltown

  Phone: 0246 203463 Email: m.johnston@uws.edu.au

  Point of First contact As above CONSULTATION ARRANGMENTS (staff office unless indicated)

  Campbelltown/Parramatta Mark Johnston, Campbelltown Wed 1-2pm, Parramatta Mon 2-3pm Penrith Zhouyu Fu Friday 1-2:30pm Room Y330

  Table of Contents S S E E C C T T

  I I N N G G R R E E S S O O U U R R C C E E S S Overview of learning resources

  C C T T

  I I

  V V

  I I T T

  I I E E S S Schedule of teaching and learning activities

  9 S

  S E E C C T T

  I I O O N N

  4

  4

  :

  :

  L

  L E E A A R R N N

  11 Recommended reading

  I I N N G G A

  Y

  16 Raising concerns

  15 Policy and how it affects you

  14 What is expected from the teaching team

  I I T T What is expected of you

  I I S S U U N N

  Y O O U U A A N N D D T T H H

  :

  12 Assignment Cover Sheet (if required)

  :

  5

  5

  I I O O N N

  S E E C C T T

  13 S

  A

  E E A A R R N N

  I I O O N N 1 1: A A B

  E E C C T T

  A

  :

  :

  2

  2

  I I O O N N

  S

  S S S S E E S S S S M M E E N N T T

  1 S

  1 Approach to teaching and learning

  1 Textbook

  I I Q Q U U E E S S An introduction to this unit

  I I N N G G T T E E C C H H N N

  B O O U U T T P P R R O O G G

R

R

A A M M M M

  A

  

I

I N N F F O O R R M M A A T T

  L

  3

  I I N N G G A A N N

D

D

L

  E E A A C C H H

  T

  T

  :

  :

  3

  I I O O N N Assessment summary

  I I O O N N

  E E C C T T

  S

  7 S

  6 Assessment details

  5 Learning outcomes and assessment

  19

  Section

  1 About Programming Techniques An introduction to this unit This unit builds on the programming foundation laid in the unit 300580 Programming Fundamentals.

  Utilising an object-oriented language it continues the development of programming skills and methodologies required for professional programming and for further study in later computing units. Topics covered include object-oriented programming techniques of encapsulation, inheritance and polymorphism, programming concepts including pointers, references, multi-dimensional arrays, and abstract data types, recursive algorithm and Standard Template Libraries. Entry to the unit requires a working knowledge of programming concepts, such as standard control logic, modularisation, and parameter passing, as well as a demonstrable skills of using selection, iteration, functions and one-dimensional array in a high-level programming language, such as C or C++. The prerequisite of this unit is 300580 Programming Fundamentals or its equivalent.

  Textbook th

  Malik, D.S., C++ Programming Program Design including Data Structures, 5 Ed.Course Technology, 2011

  Approach to teaching and learning

TEACHING ACTIVITIES:

  o Two hours lecture per week. o Two hours practical per week, see schedule for more details.

  There is no practical class in week 1. Students are allowed to attend lectures and practicals at any campus provided seats are available.

TIPS FOR LEARNING:

  o Attend all lectures, which are where you learn the theory of object-oriented programming. o Pay particular attention to any example code your lecturer displays during each lecture. o Prepare your answers to practical tasks before you attend the practical class. o Practice is most important to learning programming languages. o

  Object-oriented may not be the most intuitive way of programming but once you know how to use it, it might be the simplest and most efficient way of programming.

  Learning Resources Unit OutlineLearning GuideTextbookLectures slides (available at vUWS)Example code for each lecture (available at vUWS)Practical tasks (available at vUWS)Example assignments and solutions (available at vUWS)Reference books (available at vUWS)Library Practicals (two hours per week) Final examination

  Learning resources, learning activities and assessment Two assignments Lectures (two hours per week)

  Section

  2 Assessment Details This section provides detailed information about the assessment activities in this unit.

  You are encouraged to use this as a guide when you are working on each assessment task.

  Assessment summary There are three main assessment activities in this unit.

  Practical 20% Assignments 30% Final examination 50%

  Total Assessment 100%

  Learning outcomes and assessment

LEARNING OUTCOMES:

  At the successful completion of this unit, students will be able to: (1) Describe the main features of object-oriented approach (2) Explain the concepts of data encapsulation, inheritance and polymorphism (3) Explain the concepts of function overloading, constants and static variables (4) Write programs that use arrays, strings, and file I/O in object-oriented programming language (5) Code, test and debug algorithms in object-oriented paradigm to solve practical problems (6) Use typical containers and generic algorithms of standard libraries in programming.

  Note: C++ is used as the object-oriented programming language in this unit.

ASSESSMENT DETAILS:

  • Continuous assessment: 50%

  o

  Practical tasks (Four (4) assessable labs, AND ALL lab attendance mandatory ): 20%

  o

  Assignment 1(submission mandatory): 15%

  o

  Assignment 2 (submission mandatory): 15%

  • Final examination (2 hours closed book): 50%

ASSESSMENT MAP:

  Learning Outcomes Practical tasks Assignment 1 Assignment 2 Final exam (1) (2) (3) (4) (5) (6)

SAMPLE ASSIGNMENT TASKS AND FINAL EXAMINATION QUESTIONS:

  • Sample tasks and solution of assignment 1 (available at vUWS)
  • Sample tasks and solution of assignment 2 (available at vUWS
  • Sample final examination questions (see the lecture note for week 14)
Assessment details Assessment task 1: Practical work Details of the assessment task

  Four practical sessions will be assessable. These will be in weeks 4, 6/7, 10 and 12. Exercises will be posted on vUWS and students will be expected to demonstrate their coded solutions by the end of the practical session. Work submitted after the nominated practical session will not be included in the assessment unless the student submits a substantiated case for special consideration such as medico-legal documentation. Such work may however be inspected by the tutor in order to provide the student with feedback. Lab attendance is mandatory for ALL labs not only the assessable labs.

  Marking criteria and standards

  There will be several exercises in each assessable practical. Each will be marked on a pass/fail basis. The total number of passed exercises will be the mark for that practical.

  Submission details Students will demonstrate their work on PCs to the tutor. There is no separate on-line submission.

  Assessment task 2: Assignment 1 (due 13 April 2012) Details of the assessment task

  A relatively simple programming assignment requiring students to use object-oriented data structures as discussed in classes will be set and available on vUWS.

  Marking criteria and standards These will be indicated in the text of the assignment on vUWS. Submission details

  Students must submit their code via vUWS by the due date. In addition students must demonstrate their

  program to the tutor in the practical session following the submission date

  . Marks will not be awarded until the student has demonstrated their work. Oral questions may be posed by the tutor in order to ascertain the student’s knowledge of the work submitted. Failure to satisfactorily answer these questions may result in a fail grade for the assignment.

  Assessment task 3: Assignment 2 (due 21 May 2012) Details of the assessment task

  A more complex and challenging programming assignment requiring students to use more sophisticated object-oriented techniques as discussed in classes will be set and available on vUWS.

  Marking criteria and standards These will be indicated in the text of the assignment on vUWS.

  Submission details

  Students must submit their code via vUWS by the due date. In addition students must demonstrate their

  

program to the tutor in the practical session following the submission date . Marks will not be awarded

  until the student has demonstrated their work. Oral questions may be posed by the tutor in order to ascertain the student’s knowledge of the work submitted. Failure to satisfactorily answer these questions may result in a fail grade for the assignment.

  Assessment task 4: Final examination Details of the assessment task

  Twenty to twenty five multiple choice questions and ten free response type questions covering the major topics (see Section 3) will be set in the final examination. The examination will be of two (2) hours duration and closed book.

  Example papers A sample examination paper will be available on vUWS. Submission details The final examination will be held in the scheduled period at the end of semester.

  

NOTE: If you fall ill or suffer some misadventure and feel your performance may be impaired in the final

  examination you should obtain a medical certificate or other relevant documentation and apply for the deferred examination.

  Section

  3 Teaching and Learning Activities Schedule of Learning and Teaching Activities The autumn teaching session begins on 27 February 2012. The inter-session break begins on 16 April 2012. th

  There are three public holidays this semester: Good Friday (6 April 2012, during week 6), ANZAC Day (25 April 2012) and Easter Monday (9th April 2012, during week 7). The effect of these holidays is that one week of lectures is lost, for Parramatta and Penrith students on Good Friday and for Campbelltown students for Easter Monday. Campbelltown students will miss scheduled practicals on ANZAC day and should make arrangements with the tutor to make an extra session when convenient.

  

Week Topics Readings

  1 Unit Introduction Unit outline Selection and Iteration control Ch4-5

  2 Functions, arrays & strings Ch6,7,9

  3 Records, files and OO Ch3,10,11

  4 Class design, methods, constructors Ch11

  Assessable lab 1

  5 Function & operator overloading Ch14

  6 Inheritance & polymorphism Ch12 & 13 (Campbelltown only due to Easter)

  

Assessable lab 2 all except Friday class

  7 Inheritance & polymorphism(Penrith and Ch12 & 13 Parramatta only due to Easter) Assessable

  lab 2 Friday classes

  8 Mid-term break no classes

  9 Pointers & linked data structures Ch13 & 17

  10 Static variables, type conversion Ch11 & 13

  Assessable lab 3

  11 Abstract classes & templates Ch13 & 14

  12 Sorting and recursion Ch16& 19

  Assessable lab 4

  13 Standard template library Ch22

  14 Revision & discussion of final exam For full details about the timetable for this unit, go to vUWS.

  Lectures:

  Lecture notes and example code will be available for download at vUWS before each lecture. Note that they might be updated anytime during the semester. If so, notifications will be on vUWS.

  Practicals:

  Practical tasks for each week will be available at vUWS one week before the start of each class unless announced on vUWS. You should complete the tasks before your practical class. No group work is

  involved in this unit.

  The answer of each practical task you provide to your tutor should be your own work. All your work will be checked by your tutor individually. Your tutor will mark your work and attendance. You are responsible to report to your tutor your arrival and absence. Learning Resources Overview of learning resources

  The following table lists the resources you can access when you prepare for practical tasks, assignments and final examination. Resources Practicals Assignments Final examination vUWS Task description, example code. Task description, example code, solution of sample assignments

  http://www.microsoft.com/express/Down loads/#2008-Visual-CPP

  http://www.bloodshed.net/devcpp.html Section

  Dev C++:

  http://www.microsoft.com/express/Down loads/#2008-Visual-CPP

  Visual C++:

  http://www.bloodshed.net/devcpp.html

  Dev C++:

  Internet Visual C++:

  Lecture notes, practical tasks, assignment tasks, sample final examination questions

  More C++ and OOP reference books More C++ and OOP reference books

  Text book, lecture notes and references Library More C++ and OOP reference books

  Text book, lecture notes and references Text book, lecture notes and references

  Consultation Reading materials

  Answer of practical tasks, oral or written feedback Consultation, oral or written feedback

  The unit coordinator, lecturers and tutors

  4 Student Learning Unit (SLU)

  The Student Learning Unit (SLU) organises and runs a variety of programs and courses to develop students' academic literacy, mathematics and study skills, and participates in many collaborative projects with Schools and Colleges to enhance the academic achievement of UWS students. To access the SLU site, visit

  

http://www.uws.edu.au/campuses_structure/cas/services_facilities/slu

  In particular, the SLU has developed a useful online learning site, Online Learning Improve Your Maths, to support students’ learning at UWS and help with basic mathematics, calculus and statistics.

  Recommended Reading

  Textbook:

  • D.S. Malik, C++ Programming program design including data structures (5th Edition), Course Technology, 2011.

  Essential library resources and reading lists

  • Bruce Eckel, Thinking in C++, Volume 1, 2nd Edition, Prentice Hall, 2
  • • Gary J. Bronson, Program Development and Design Using C++, 2nd Edition, Thomson Learning,

    2000.
  • T. A. Budd, An Introduction to Object-Oriented Programming, 3rd Edition, Addison Wesley, 2002.
  • >Kip R. Irvine, C++ and Object-Oriented Programming, Prentice Hall, 1
  • Deitel & Deitel, C++: How to Program, 4th Edition, Prentice Hall, 2002.
  • Walter Savitch, Problem Solving with C++: The Object of Programming (7th Edition), Addison Wesley, 2008.
  • • Nicolai M. Josuttis, The C++ Standard Library: A Tutorial and Reference, Addison-Wesley

    Professional, 1999.
  • >Joyce Farrell, Object-Oriented Programming Using C++, 4th Edition, Course Technology, 2>Frank M. Carrano, Data Abstraction & Problem Solving with C++, 5th Edition, Addison Wesley, 2006.
  • D.S. Malik, C++ Programming: From Problem Analysis to Program Design, 4th Edition, Course Technology, 2008.

  Assignment Cover Sheet School of Computing and Mathematics College of Health and Science Student Name Student Number Unit Name and Number Tutorial Group Tutorial Day and Time Lecturer/Tutor Title of Assignment Length Due Date Date Submitted Campus Enrolment DECLARATION I hold a copy of this assignment that I can produce if the original is lost or damaged.

  

I hereby certify that no part of this assignment/product has been copied from any other student’s work or

from any other source except where due acknowledgement is made in the assignment. No part of this

assignment/product has been written/produced for me by another person except where such collaboration has been authorized by the subject lecturer/tutor concerned.

  

I hereby certify that I have read and understand what the School of Computing and Mathematics defines

as minor and substantial breaches of misconduct as outlined in the learning guide for this unit.

  Signature : ……………………………………………………………………….

  

Note: An examiner or lecturer/tutor has the right not to mark this assignment if the above declaration has

not been signed)

  Section

  5 You and this Unit What is expected of you Workload

  This unit is a 10 credit point unit and will require your full and continuous attention to maintain the highest possible grades. It is expected that you will spend at least 10 hours each week (on average) which includes the four (4) contact hours per week. It will be essential for you to keep up with the assigned practical questions so that you are properly prepared for each assessment task.

  Attendance Students are expected to attend the two (2) hour lecture, and a two (2) hour practical each week. Student engagement and participation

  Students are expected to attend lectures, and participate in all practicals during the semester. Practical participation does not merely mean turning up. To gain full benefit of the practical, students need to attempt the core questions prior to the practical and come along to the practicals willing to actively engage in the activities.

  Online Learning

  Students should access the Programming Techniques vUWS site and check their student email account at least twice a week. Access to the unit’s vUWS site is only available to students who are enrolled in the unit. Student enrolment can be cancelled for failure to meet financial obligations to the University, e.g. failure to pay library fines. If the students do not have access or find that access is lost, they should contact the Student Centre to check enrolment. Students can also contact “E-Learning Support for Students”, using the following link: http://www.uws.edu.au/students/onlinesupport/home .

  Student responsibilities and conduct Familiarise yourself with University policies on assessments and examinations.

  Student responsibilities

  Ensure that you understand the requirements, including timetables, for examinations and other assessment tasks. Ensure that you read and understand the assessment requirements and note the submission dates, and seek assistance from the unit coordinator, lecturer and/or tutor when needed. Ensure that you have obtained from the lecturer or via the Web copies of relevant unit outlines by the second week of the teaching session.

  Notify relevant staff (e.g., the unit coordinator, lecturer, disability adviser) as soon as possible prior to, or at the beginning of the session , to have special requirements accommodated.

  When completing student feedback questionnaires, give honest, helpful and courteous feedback to their lecturer(s). Make every effort to undertake the work required to successfully complete their units of study. Submit their own work and material for assignments and other assessment tasks, i.e. do not plagiarise or cheat and understand the serious consequences of indulging such behaviour by familiarising themselves with the University's Misconduct - Student Academic Misconduct Policy. Attend all lectures, tutorials, workshops and practicals, as failure to attend and actively participate is often the

  Student conduct main cause for low grades. and behaviour Respect the needs of other students who are participating in any class activities.

  Not indulge in any behaviour that disrupts the teaching and learning environment, or negatively affects fellow students and university staff, and understand the University will take action against such behaviour as outlined in the Misconduct - Student Non-Academic Misconduct Policy.

Switch off your mobile phone before entering lectures, workshops and/or tutorials

Attempt to first resolve problems or issues at the local level (e.g. within the School, Student Centres) before using the formal University complaint and grievance processes.

Treat university property with due care and report any damaged or broken equipment.

Behave appropriately, outside of University property when undertaking education related activities or representing the university (e.g. placement, practicum, project work).

  What is expected from the teaching team

  Academic staff carry out their teaching responsibilities under the authority of the Executive Dean and Head of School. The responsibilities are outlined below.

  Treat all students and staff equitably, with courtesy and respect, and adhere to the University's Code of

  Staff Conduct and Federal and State Government legislative requirements. responsibilities Prepare thoroughly for each teaching session.

  Be on time for each lecture, tutorial and workshop. Be available to assist students during the consultation times. Assess student’s work fairly, objectively and consistently Provide students with appropriate, helpful and explanatory feedback on all work submitted for assessment.

  Make reasonable accommodation in assessment tasks and examinations for students with special requirements Report immediately, any issues or concerns related to student academic and non-academic misconduct to the relevant authority, according to the UWS Misconduct Policy

  Sometimes the best laid plans do go astray! In the unlikely occurrence of this happening, you will be notified about any changes to the scheduled activities, at least 24-hours in advance (if possible), via an announcement on vUWS.

  Changes to unit as a result of student feedback

  The University values student feedback in order to improve the quality of its educational programs. As a result of student feedback, the following changes and improvements to this unit have recently been made:

  • Reorganising sequence of to
  • Some revision of pre-requisite topics expanded to better prepare students for new material

  Policy and how it affects you

  The University has a number of policies that relate to teaching and learning. Important policies affecting students include Assessment Policy Examinations Policy Special Consideration Policy Review of Grade Policy Assessment Practice – Fundamental Code Misconduct – Student Academic Misconduct Policy (see extract of the policy below under the heading "What is Academic Misconduct?") Misconduct – Student Non-academic Misconduct Policy Enrolment Policy (includes a section on the UWS Student Email Account) Bullying Prevention Policy and Guidelines Sexual Harassment Prevention Policy

  There are two policies that relate to misconduct – academic and non-academic misconduct. Breaches of these policies can have very serious consequences. It is essential that you are familiar with these policies and how to avoid misconduct of any type.

  What is Academic Misconduct?

  Academic Misconduct may involve plagiarism, collusion or cheating. Plagiarism involves submitting or presenting work in a unit as if it were the student's own work when, in fact, it was not. Collusion includes inciting, assisting, facilitating, concealing or being involved in plagiarism, cheating or other academic misconduct with others. Cheating includes dishonest conduct (or attempted dishonest conduct) in exams.

  For the full definition of academic misconduct and the consequences of such behaviour, you are advised to read the Misconduct – Student Academic Misconduct Policy in its entirety, refer to: http://policies.uws.edu.au/view.current.php?id=00051

  The School of Computing and Mathematics definitions of Minor and Substantial Breaches of the UWS Academic Misconduct policy are below: Plagiarism Minor breach: A minor breach occurs when the weighting of the assessment task is less than 10%,

  and less than 20% of the work submitted is taken from another source without reference to the original source or author.

  Substantial breach definition: A substantial breach occurs when:

  1. The weighting of the assessment task is more than 10%, and 20% or more of the work submitted is taken from another source without reference to the original source.

  2. If a student has been found to have already committed an act of plagiarism and warned about it, whether it is a minor or substantial breach, then the next allegation will be treated as a substantial breach.

  Cheating

  1. Dishonest or attempted dishonest conduct during an examination, for example speaking to other candidates or otherwise communicating with them, leaving answer papers exposed for other students to view and/or copy or attempting to view another student’s solutions, would be deemed as minor. However, if this behaviour continued after the student had been asked to desist, then the breach would be treated as substantial.

  2. Bringing into the examination room any textbook, notebook, memorandum, other written material or mechanical or electronic device (including mobile phones), or any item not authorised by the examiner would be treated as minor. However, if the student does not surrender the unauthorised item, then a substantial breach would have occurred.

  3. Writing an examination or part of it, or consulting any person or materials outside the confines of the examination room without permission to do so, would constitute a substantial breach.

  4. Cheating in take-home examinations, which includes, but it not limited to: making notes, papers or answers in connection with the examination (in whatever form) to others without the permission of the relevant lecturer; receiving answers, notes or papers in connection with the examination (in whatever form) from another student, or another source without the permission of the relevant lecturer; and the unauthorised collaboration with another person or student in the formulation of an assessable component of work constitutes a substantial breach.

  Other Academic Misconduct

  1. Tampering or attempts to tamper with examination scripts, class work, grades or class records, will be regraded as substantial.

  2. Failure to abide by the directions of an academic member of staff regarding the individuality of work to be handed in, will, in the first instance be treated as minor. However, any reoccurrence of such behaviour will be regarded as substantial.

  3. Acquisition, attempted acquisition, possession or distribution of examination materials or information without the authorisation of the academic member of staff will be regarded as substantial.

  4. Impersonation of another student in an examination or other class assignment will be regarded as

  substantial .

  5. Falsification or fabrication of practical or laboratory reports will be regarded as substantial.

  6. Non-authorised use of tape recording of lectures will be regarded as minor, except where the student/s has been asked to desist and refuses to comply. This continued abuse will be regarded as substantial. There are many resources to help you avoid academic misconduct. The library staff can help you with referencing and the Student Learning Unit can assist with academic writing and plagiarism. If you are unsure about any of your work you should also ask your tutor or lecturer for advice and feedback.

  What is Non-academic Misconduct?

  Non-academic misconduct includes unlawful activities and crimes, falsifying documents (like a medical certificate or academic records), harassing other students (or staff), stealing or damaging university property (like library books or computers) and disrupting other students or staff. These are just some of the types of non-academic misconduct and while these things are rare they do happen. If you believe you have been the victim of non-academic misconduct or you are aware of any academic misconduct it is very important that you report it.

  You should report all matters of academic misconduct directly to your Head of Program.

  Raising Concerns

  If you have a concern about this unit please contact the unit coordinator in the first instance. If you would prefer to speak to someone else you are advised to contact your Head of Program (see the online handbook to identify your Head of Program and their contact details http://handbook.uws.edu.au/hbook/). More information about resolving complaints is available on the UWS website. http://uws.clients.squiz.net/opq/planning_and_quality/complaints_management_and_resolution The University also has a confidential Complaints Handling department (see link above for contact details).

  You may contact this department of the University at any time however we would appreciate the opportunity to resolve this directly first.