SCSSE

School of Computer Science & Software Engineering

Faculty of Informatics

                                                                                                                                                              

CSCI124 Applied Programming Solving

Subject Outline

Autumn Session 2007

                                                                                                                                                              

Head of School –Professor Philip Ogunbona, Student Resource Centre, Tel: (02) 4221 3606

 

General Information

 

Subject Coordinator

Dr Koren Ward

Telephone Number:

4221 5322

Email:

koren@uow.edu.au

Location:

3.110

 

Dr Ward’s Consultation Times During Session


Day

Time

Monday

Thursday

10.30-11.30 and 13.30-14.30

11.30-13.30



Subject Organisation

Session:

Autumn Session, Wollongong

Credit Points

6

Contact hours per week:

3 hours lectures + 2 hours lab /1 hour tutorial

Lecture Times & Location:

Lecture A

Mon

11:30

13:30

20.4

 

Lecture B

Thu

10:30

11:30

20.4

Tutorial Day, Time and Location can be found at:

http://www.uow.edu.au/student/sols/timetables/index.html

 


 

Lecture Schedule

Week

Topic

Comments

1

Modular Programming (M1)

No Laboratory

2

Modular Programming (M1)

M1 Exercises Due

3

Modular Programming (M1)

M1 Assignment Due

4

Pointers and Dynamic Memory (M2)

M1 Test *

5

Pointers and Dynamic Memory (M2)

M2 Exercises Due

6

Pointers and Dynamic Memory (M2)

M2 Assignment Due

7

Classes (M3)

M2 Test *

8

Classes (M3)

M3 Exercises Due

9

Classes (M3)

M3 Assignment Due

10

Data Structures(M4)

M3 Test *

11

Data Structures (M4)

M4 Exercises Due

12

Data Structures (M4)

M4 Assignment Due

13

Revision

M4 Test *

 

Note: This schedule may be subject to variation.

*Module Tests dates and times will be shown on the subject website.  If changes are made to the above schedule students will be notified during lectures, via sols mail and/or on the subject website.

 

 


Students should check the subject’s web site regularly as important information, including details of unavoidable changes in assessment requirements will be posted from time to time.  Any information posted to the web site is deemed to have been notified to all students.

 

Content

This subject develops a thorough understanding of program design using data structures. It extends CSCI114 and presents pointers, dynamic memory management and exception handling. Other topics include implementation of Sorting and Searching Algorithms including the use of typedefs, void pointers and indexes to generalise algorithms; Implementation of data structures: queues, stacks, linked lists, dequeues, trees; Use of arrays as an implementation structure – hashing, radix sort, heaps and Heapsort; Random Access files and internal I/O; Testing of programs: black and white box testing, and the use of debuggers; Use of multi-file organisation in encapsulation and data hiding, with make files; These concepts will be treated through formal lectures, tutorials, assignments and laboratory sessions employing an object oriented language.

 

Objectives

On successful completion of this subject, students should be able to:

1. Use memory management and exception handling in software implementation

2. Use dynamic memory allocation to create and maintain dynamic data structures

3. Identify and describe` structured data types, their implementation in C++, and use in problem solving

4. Design, implement, test and debug simple programs.

5. Write programs that display a working knowledge of good programming style.

 

Attendance Requirements

It is the responsibility of students to attend all lectures/tutorials/labs/seminars/practical work for subjects for which you are enrolled.

 

It should be noted that according to Course Rule 003{Interpretation Point 2 (t)} each credit point for a single session subject has the value of about two hours per week including class attendance.  Therefore, the amount of time spent on each 6 credit point subject should be at least 12 hours per week, which includes lectures/tutorials/labs etc



Satisfactory attendance is deemed to be attendance at approximately 80%* of the allocated contact hours. Attendance rolls may be kept for lectures, TUTORIALS and laboratories. If you are present for less than 80%* you need to apply for special consideration, otherwise a fail grade may be recorded.

 

Students MUST attend their allocated tutorial unless they have the written permission of the subject coordinator.


 
Method of Presentation

 

Subject delivery and assessment is comprised of 4 modules (see M1-M4 on the schedule below). Each module culminates with a module test. Module tests are given during the weeks shown on the Lecture Schedule below. Lectures will comprise the content of this subject plus explanations, illustrations and demonstrations.  Lab tasks will be introduced and discussed in lectures and will relate to the lecture topics.  Laboratories start from week two.

 


 


Subject Materials 

 


Lecture notes, exercises and assignments for this subject will be available on the subject website. Please note that many example programs, demonstrations, revision solutions and assignment solutions will only be discussed during the lectures and tutorials.  Some of the more important examples will be posted to the website.  Thus attending the lectures cannot be completely replaced by the published material on the subject website.

 

Reference Books

  1. Malik, D.S.,  C++ Programming: From Problem Solving to Program Design, Thomson Learning, 2002
  2. Savitch, Walter, Absolute C++, Addison-Wesley, 2002
  3. Main, Michael & Savitch, Walter, Data Structures and Other Objects using C++, 2nd Edition, Addison-Wesley, 2001
  4. Hubbard, John R., Data Structures with C++, Schaum’s Outlines, McGraw-Hill, 2000
  5. Sedgewick, Robert, Algorithms in C++, Addison-Wesley Pub. Co., c1992
  6. Bjarne Stroustrup, The C++ Programming Language, 3rd edition, 2000, Addison-Wesley
  7. Adams, Joel, Leestma, Sanford & Nyhoff, Larry, C++: An Introduction to Computing
  8. Forouzan, Behrouz A. & Gilberg, Richard F., Computer Science: A Structured Programming Approach Using C++, 2000, Brooks/Cole
  9. Friedman, Frank L. & Koffman, Elliot B. Problem Solving, Abstraction and Design Using C++, 3rd edition, 2000, Addison-Wesley

Some of these are available from UniCentre Bookshop and Library

 


These readings/references are recommended only and are not intended to be an exhaustive list.  Students are encouraged to use the library catalogue and databases to locate additional readings

 

Assessment

 

This subject has the following assessment components.

Assessment Items & Format

Percentage of Final Mark

Due Date


Module Tasks

60%

See lecture schedule above

Examination

40%

Formal Examination Period


 


 

Notes on Assessment

 


A hard copy may also be required.

 

All assignments are expected to be completed independently.  Plagiarism may result in a FAIL grade being recorded for that assignment.

 

(a)     Subject assessment is based on 4 modules of work and a final exam. Each module is worth 15% of the final assessment of the subject and the final examination is worth 40% of the final assessment.

(b)     Module tasks are comprised of lab exercises, assignments and topic tests. The approximate weight of each task toward each module total is shown in the table below. These weightings are subject to adequate performance in the module test as explained below.

Module Assessment Guide

 

Task

% of Module Total

Lab Exercises + Assignment

50%  (15 + 35)

Module Test

50%

Module Total (assessment marks)

100% (15 marks)

 

Failure to pass the module test of any module will result in less weight being applied to the practical tasks of that module (i.e. the lab exercises and assignment). This is calculated according to the following formula:

 

                                IF T  > 25 

                                                PWt = 50

                                                TWt = 50

                                ELSE

                                                PWt = (T / 25)   x  50

                                                TWt = 100 –  (T / 25)  x  50

 

                                where:    T = Module Test Result

                                                PWt = Weight applied to Exercises and Assignment

                                                TWt = Weight applied to test

 

For example, if a student receives 50 out of 50 for the exercises and assignment but only achieves 20 out of 50 for the module test then the weight applied to the practical tasks and the test for this module would be:

                                PWt          =  20 / 25 x 50

                                                =  40

                                TWt           =  100 – 40

                                                =  60

Consequently the module total would be calculated thus:

                                Practical Tasks     =  50 / 50 x 40

                                                                =  40

                                Test                        =  20 / 50 x 60

                                                                =  24

                                Module Total        =  40 + 24

                                                                =  64

                                Module Marks      =  64 x (15 / 100)

                                                                =  9.6 marks (toward the final assessment)

 

(c)           Assignments and exercises are to be submitted electronically via Unix/Linux system before the scheduled time, nominally 11.59pm of the date of submission. Submission via email/fax/printed form is not acceptable. Some tasks will require the student to demonstrate C++ programs to the tutor in the laboratory. These tasks will be clearly identified on the instructions on exercises and assignments.

(d)           Attendance at lectures and lab classes when module tests or demonstrations are scheduled is mandatory. If you are unable to attend any test or demonstration you should contact the Subject Coordinator before the test or demonstration date to make alternative arrangements. Failure to attend a module test or lab demonstration may result in a zero mark for the task or module. 

 (e)          Special consideration for extending the due date of an assignment or exercise, or for absence from a test, or for poor performance in any task may be granted in certain circumstances. Such special consideration should be submitted via SOLS. Supporting documentation should accompany the request for special consideration. The Subject Coordinator has the right to accept/reject the request. A request for an extension of an assignment can only be granted if it is made to the Subject Coordinator before the due date.

(f)            Late assignments or exercises without granted extension will be marked but the mark awarded will be reduced by 20% of the total marks for the task for each day late (unless otherwise stated on the task’s instructions). Assignments and exercises will not be accepted if more than three days late.

(g)           As assignments and exercises are to assess a student's understanding of course material, each assignment should be solved using only material covered up to that point in the course. If in doubt ask your tutor or the lecturer.

(h)           Students who copy work may receive zero for that task.  This also covers work which may be the product of community effort by several students.  Working together is acceptable, but the final coding must be the work of the individual student, as assessment is a measure of your own ability.

(i)            Programs submitted which do not produce the required result cannot be awarded more than half marks.  Programs which do not compile due to syntax errors will receive no marks, but may still be commented upon.  Proper documentation and program style are needed in the assignments to receive full marks.

(j)            Assignments and exercises will be available from the subject website. Students should check the website regularly for changes and updates to subject information together with assessment marks.

 

Assignments and exercises will be returned in the laboratory classes. Enquiries about the marking can only be made to the tutors during laboratory class times, with a maximum of 1 week after the work is handed back. After 1 week, no further reassessment can be made.  The module and task results will be accessible on the subject website as soon as they become available.

 

Late Assignments

Penalties apply to all late work, except where special consideration has been granted.  Late submissions will attract a penalty of 20% of the assessment mark per day including weekends.  Work more than 3 days late will be awarded a mark of zero

 

 

Scaling (School)

Final results in this subject may be scaled. The scaling method that will be used in this subject is as follows.

If E is the student exam mark, and A is the student assignment mark, the student final mark will be determined as follows:

 

if E >= 40% of the maximum exam mark: then student final mark is E + A;

if 35% <= E < 40% of the maximum exam mark: then student final mark is /min/{E+A, 47}

       if E < 35% of the maximum exam mark: then student: final mark is /min/{E+A, 42}.


 

Additional Information

 

Students must refer to the Faculty Handbook or online references which contains a range of policies on educational issues and student matters.


     

Laboratory Procedures

           Students must abide by the laboratory rules posted on the wall of the Laboratory

           Students may use the computers outside their designated laboratory times provided the laboratory is open and no other laboratory class is scheduled.  If another class is scheduled for the laboratory, you may enter no earlier than 20 minutes after the scheduled starting time and ask the supervisor whether any vacant machines may be used.

           When there is a queue for computers, students must give up the computer they are using after one hour of use.  They may rejoin the end of the queue.

           To complete the assignment component of the subject, students need to design and implement programs in C++.  There is no requirement to carry out the work in the laboratories.  You may still work at home to develop solutions.  However, submissions are via the labs, and assistance in laboratories will be for programs demonstrable in a Linux environment.

          Copying software for another person is in breach of either copyright or the license agreement, as is selling

            original disks whilst retaining a copy.   Exchanging disks also leads to the introduction of software viruses

            which may corrupt the system

 


 

Supplementary Exams

 

While the School normally grants supplementary exams when the student does not sit the standard exam for an acceptable reason, each case will be assessed on its own merit and there is no guarantee a supplementary exam will be granted. If a supplementary exam is granted the date will be determined by the University via ARD.  You will be notified via SOLS Mail the time and date of this supplementary exam. You must follow the instructions given in the email message.

 

Please note that if this is your last session and you are granted a supplementary exam, be aware that your results will not be processed in time to meet the graduation deadline.

 

Plagiarism

 

When you submit an assessment task, you are declaring the following

1.        It is your own work and you did not collaborate with or copy from others.

2.        You have read and understand your responsibilities under the University of Wollongong's policy on plagiarism.

3.        You have not plagiarised from published work (including the internet). Where you have used the work from others, you have referenced it in the text and provided a reference list at the end ot the assignment.

4.        Plagiarism will not be tolerated.

5.        Students are responsible for submitting original work for assessment, without plagiarising or cheating, abiding by the University’s policies on Plagiarism as set out in the Calendar under University Policies, and in Faculty handbooks and subject guides. Plagiarism has led to the expulsion from the University.

 

 

 

 

 

 

This outline should be read in conjunction with the following documents:

 

Code of Practice - Teaching and Assessment

http://www.uow.edu.au/handbook/codesofprac/teaching_code.html

Key Dates

http://www.uow.edu.au/student/dates.html

Code of Practice - Students

http://www.uow.edu.au/handbook/codesofprac/cop_students.html

Information Literacies Introduction Program

http://www.library.uow.edu.au/helptraining/workshops/ilip/

Acknowledgement Practice Plagiarism will not be tolerated

http://www.uow.edu.au/handbook/courserules/plagiarism.html

Student Academic Grievance Policy

http://www.uow.edu.au/handbook/codesofprac/cop_supervision.html#8

Special Consideration Policy

http://www.uow.edu.au/handbook/courserules/specialconsideration.html

Code of Practice-Honours

http://www.uow.edu.au/handbook/honourscode.html

Non-Discriminatory Language Practice and Presentation

http://staff.uow.edu.au/eeo/nondiscrimlanguage.html

Intellectual Property Policy

http://www.uow.edu.au/research/researchmanagement/1998IP.html

Occupational Health and Safety

http://staff.uow.edu.au/ohs/commitment/OHS039-ohspolicy.pdf

SCSSE Internet Access & Student Resource Centre

http://www.sitacs.uow.edu.au/info/current/internet_access_and_resource.shtml

SCSSE Computer Usage Rules

http://www.itacs.uow.edu.au/info/current/support/labs/rules.shtml

SCSSE Style Guide for Footnotes, Documentation, Essay and Report Writing

http://www.sitacs.uow.edu.au/info/current/styleguide.pdf

SCSSE Student Guide

http://www.itacs.uow.edu.au/info/current/regulations.shtml

Informatics Faculty Librarian, Ms Annette Meldrum, phone: 4221 4637,ameldrum@uow.edu.au

SCSSE Subject Outlines

http://www.itacs.uow.edu.au/info/current/subject_outlines/