📄 plds210.txt
字号:
PLDS210Programming Languages and Data Structures ------------------------------------------------------------------------Course SynopsisThis course will focus on data structures and algorithms for manipulatingthem. Data structures for storing information in tables, lists, trees,queues and stacks will be covered. Some basic graph and discrete transformalgorithms will also be discussed.You will also be introduced to some basic principles of softwareengineering: good programming practice for "long-life" software.For a full list of topics to be covered, view the table of contents page forthe lecture notes.Lectures - 1998There are two lectures every week: Monday 12 pm AG11 Tuesday 12 pm AG11 ------------------------------------------------------------------------Lecture NotesA set of notes for this course is available on the Web. From the table ofcontents page you can jump to any section of the course.There is a home page set up for student information: http://www.ee.uwa.edu.au/internal/ug.courses.htmlOn which, you will find an entry for course information; you can follow thelinks to this page and the notes themselves. You can also go directly to thePLSD210 page: http://www.ee.uwa.edu.au/~plsd210/ds/plds210.htmlNote that the Web pages use the string plds (programming languages and datastructures) - a historical accident, which we retain because this labeldescribes the content more accurately!Printed NotesFor a ridiculously low price, you can obtain a pre-printed copy of the notesfrom the bookshop. You are strongly advised to do so, as this will enableyou to avoid laboriously taking notes in lectures and concentrate onunderstanding the material. (It will also save you a large amount of timeprinting each page from a Web browser!)The printed notes accurately represent the span of the course: you will bespecifically advised if examinable material not appearing in these notes isadded to the course. (But note that anything appearing in laboratoryexercises and assignments is automatically considered examinable: thisincludes the feedback notes!)However, the Web notes are undergoing constant revision and improvement(comments are welcome!) so you are advised to browse through the Web copiesfor updated pages. You'll be advised in lectures if there is a substantialchange to any section.TextbooksThe material on data structures and algorithms may be found in many texts:lists of reference books in the library are part of the Web notes. The Webnotes are, of necessity, abbreviated and should not be considered asubstitute for studying the material in texts.Web browsersWeb browsers have varying capabilities: the notes were checked with Netscape2 - but should read intelligently with other browsers. If you have problems,I would be interested to know about them, but please note that updatingthese notes, adding the animations, tutoring and marking your assignmentsfor this course have priority: problems with other browsers, your homecomputer, etc, will only be investigated if time permits.Using the notesThe notes make use of the hypertext capabilities of Web browsers: you willfind highlighted links to subsidiary information scattered throughout thetext. Occasionally these links will point to Web resources which may belocated off campus and take some time to download: you may find itproductive to use the "Stop" facility on the browser to abort the currentfetch - you can try again later when the Net is less heavily loaded.In all cases, the browser's "Back" command should take you back to theoriginal page.Program sourceExample source code for programs will sometimes pop up in a separate window.This is to enable you to scan the code while referring to the notes in themain page. You will probably need to move the source code page out of theway of the main page. When you have finished with the source code page,select File:Close to close the window. Selecting File:Exit will close thewindow and exit from Netscape - possibly not your intention! ------------------------------------------------------------------------Tutorials - 1997Exercises for the tutorials and laboratory sessions are also found in theWeb pages. Tutorial Times Weeks Time Location Groups Thursday 9 am E273 2ic,2it1-3 4-13 Wednesday 3 pm A205 rest The first tutorial will be in the fourth week of semester. As long as one tutorial group does not become ridiculously overloaded, you may go to whichever tutorial suits you best.Laboratory Sessions - 1998There will be two formal introductory laboratory sessions early in thesemester - watch these pages for the final details. These sessions will bein laboratory G.50. After the first two laboratories, a tutor will beavailable in G.50 every week at times to be advertised. The tutor willadvise on any problems related to the whole course: assignments, lecturematerial, etc.You will be able to complete the assignment on any machine which has an ANSIC compiler. Assignments will be submitted electronically: submit programs onthe SGI machines and on the NT systems in 1.51 may be used - refer to thesubmission instructions. Note that you are expected to write ANSI standard Cwhich will run on any machine: programs which won't run on our SGI's riskfailure! In 1998, Java programs written to an acceptable standard will alsobe accepted. (The standard required for C is set out explicitly: ensure thatyou understand how to translate the important elements of this to Javabefore starting work in Java. Seek feedback if uncertain!)Assignments - 1998Four assignment exercises will be set for the semester. You should be ableto complete most of the first two assignments during the initial laboratorysessions. The 3rd and 4th are more substantial. Completed assignments (whichshould include a summary report, the program code and any relevant output)should be submitted by following the submission instructions at the end ofthe Web page.Performance on the assignments will be 20% of your overall assessment forthe unit.Assignments 1 & 2These will be relatively short and should require only 1 or 2 hours extrawork to complete. They will be marked on a 4 point scale(Good,Marginal,Poor,Zero) and contribute 6% of your final assessment. Theseassignments will provide some feedback on what is expected for the remainingtwo assignments. You may even find that you can use the (corrected) codefrom these assignments in the later assignments.Assignments 3 & 4For these two assignments, you will be expected to implement one algorithmand test another. You will be assigned an algorithm to implement asassignment 3. You may obtain from one of your class colleagues animplementation of any other algorithm and test it for assignment 4. You mustsubmit them by the dates shown on the assignment sheets. They willconstitute the remaining 14% of your assignment assessment. A minimum standard must be obtained in the assignments to pass the unit as a whole. Failure to attempt the assignments will put you at a severe disadvantage in the exam.Assignment reportsEach assignment submission should be accompanied by a summary report. Thereport should be clear and concise: it is unlikely that you will need towrite more than 2 A4 pages (or about 120 lines of text).Report FormatThe report should be in plain ASCII text. The 'native form' of anywordprocessor will be rejected. If you prefer to use a word processor toprepare your report, then ensure that you export a plain text file forsubmission when you have finished: all word-processors have this capability.This allows you to concentrate on the content of the report, rather than thecosmetics of its format. However, the general standards for report structureand organisation (title, authors, introduction, body grouped into relatedparagraphs, conclusion, etc) expected for any other unit apply here also.CommunicationThis course attempts to be "paperless" as much as possible! Assignments willbe submitted electronically and comments will be emailed back to you. Pleaseensure that your reports include email addresses of all authors.The preferred method for communication with the lecturer and tutor(s) is, atleast initially, email. All routine queries will be handled this way: wewill attempt to respond to all email messages by the next day. If you havemore complex problems, email for an appointment (suggest a few times whenyou will be free). You may of course try to find me in my office at any time(but early in the morning is likely to be a waste of time), but emailing foran appointment first ensures you some priority and enables you to avoidwasting a trip to the 4th floor when there may be zero probability ofsuccess! ------------------------------------------------------------------------Continue on the lecture notes. ------------------------------------------------------------------------John Morris, 1996
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -