Non-Procedural Languages (COMP318) & Advanced Non

advertisement
Non-Procedural Languages
(COMP318)
&
Advanced Non-Procedural Languages
(COMP518)
Unit Details
Contents
1 Welcome to Non-Procedural Languages
2
2 Aims, Prerequisites, and Outcomes
2
3 Textbooks
3
4 How this Unit will be Run
4
5 Tutorials
4
6 Assignments & Assessment
4
7 Hardware & the Submission of Assignments
5
8 PLAGIARISM
5
9 Library Services
6
10 Complaints and Appeals
6
1
1
Welcome to Non-Procedural Languages
Welcome to comp318 and the postgraduate version comp518.
Lecturer:
Krzysztof Krakowski
Office:
159 Maths and Computing building
Phone:
(02) 6773 2724
Web site:
http://mcs.une.edu.au/~kris/
Unit web site: http://mcs.une.edu.au/comp318/
Unit e-mail:
comp318@turing.une.edu.au
School phone: (02) 6773 2298
School fax:
(02) 6773 3312
2
Aims, Prerequisites, and Outcomes
The main features of traditional procedural programming languages, such as
Fortran, Algol, Pascal, and C are assignment and control. Other programming languages with different features, known as non-procedural programming languages, have been developed, such as Lisp, Scheme, ML, Prolog,
Smalltalk, or Miranda. We will cover two of these non-procedural programming languages in this unit. The languages we will study are
• Scheme – a dialect of Lisp, (functional programming, or symbolic
manipulation), and
• Prolog – (logic programming)
These languages are also known as Artificial Intelligence’s programming languages.
The prerequisite for this unit is 12cp in COMP.
Upon completion of this unit, students will be able to:
1. approach software development using good programming concepts;
2. write effective non-procedural code to solve small/medium problems;
3. compare programming experiences in (non)-procedural languages.
There will be lecture notes appearing on the web & the Internet as the
unit proceeds, so you should pay close attention to the comp318 web page:
http://mcs.une.edu.au/~comp318/
2
3
Textbooks
There are two text books in this unit:
1. Dybvig, R. K. – The Scheme Programming Language, 4th ed., MIT
Press, 2009, ISBN: 978-0-262-51298-5
2. Clocksin, W. F. and Mellish, C. S. – Programming in PROLOG, 5th
ed., Springer-Verlag, 2003, ISBN: 3-540-00678-8 or 0-387-00678-8.
The scheme book has the advantage of existing online (see 3rd ed. or 4th
ed.)
Both books are references rather than books we will go through page by
page.
Recommended Readings
1. Bratko, I. – PROLOG - Programming for Artificial Intelligence. AddisonWesley, 3rd ed., 2001
2. Sterling, L. and Shapiro, E. – The Art of Prolog. MIT Press, 7th ed.
1991
3. Friedman, D. P. and Felleisen, M. – The Little Lisper. SRA, 2nd ed.,
1986
4. Callear, D. –Prolog Programming for Students. Thomson, 2nd ed., 2003
5. Chakravarty, M. M. T. and Keller, G. C. – An Introduction to Computing with Haskell. PearsonSprintPrint, 2002
6. Queinnec, C. –Lisp in Small Pieces. Cambridge University Press, 1996
3
4
How this Unit will be Run
The very first thing you should do if you are taking this unit is check out
the ~comp318 directory or the ~comp318 web page. This is where (if you
are external & don’t attend lectures) everything that happens in this unit
will take place. I’ll describe the ~comp318 directory here, the web page is
structured in an analagous fashion. In the ~comp318 directory there will be
subdirectories called:
Lectures
This is where the lecture notes will appear.
Tutorials
Weekly tutorial exercises and solutions.
Assignments
Assignment specifications.
Solutions
This is where solutions to the assignments, and projects, will appear.
FAQs
Answers to FAQs and hints for assignments and projects.
Past-Exams
Past exam papers in postscript and pdf format
Papers-of-Interest Postscript versions of papers that are of general interest.
Please use your UNE email address ONLY in all communications with your
lecturers.
The lectures, tutorials, assignments, and projects will all be released, in
real time, on the web page, according to the (tentative) unit schedule,
http://mcs.une.edu.au/~comp318/UnitPlan/
5
Tutorials
There are weekly exercises to do starting from Week 2. Their purpose is to
get you going with the languages and help you to do the assignments and
projects. Solutions are also available.
6
Assignments & Assessment
Students doing comp318 do 4 assignments (worth 10% each).
Students doing comp518 do 5 assignments (worth 8% each).
The practical part is worth 40% and the exam is worth 60% in the final
mark.
A student must obtain at least 50% in each component of the final mark
(assignnments, exam) to pass the unit itself.
Notes
4
• Deadlines will only be extended on medical grounds. Otherwise late
submissions will attract a penalty of 5% per day late and will not be
marked at all (0 marks) if more than ten days late. In any situation
you have to submit your assignment (project) otherwise you’ll get an
NI. The last week for submissions is week 13th of the semester.
• To request an extension, you will need to email to comp318@mcs.une.edu.au,
prior to the due date, and provide the following:
– your name,
– the assignment for which you seek an extension,
– the grounds for granting an extension, and
– the date you anticipate being able to submit your assignment.
• If you do not submit all of the assignments or do not sit the final
examination, you will receive a failed incomplete (NI) grade for the
unit.
7
Hardware & the Submission of Assignments
The assignments and projects must be submitted using the electronic submit
facility. All programming assignments must be compilable on our server:
turing.une.edu.au
Contact your lecturer (tutor) for help with assignments and programming
projects. But start early. Lots of requests on the day before an assignment
is due can’t be well handled.
If you have a problem with your code, then do not send me lots of messages
that contain code segments etc, or even one message with lots of attachments.
If you do have a mess of code that needs some heroics on my behalf, then
the desired form of interaction is to send me an email. Warn me of this and
either ring me up to talk about it or wait patiently until I find time to look
at it.
8
PLAGIARISM
Students are warned to read the statement in the Faculty’s Undergraduate
and Postgraduate Handbooks for 2009 regarding the University’s Policy on
5
Plagiarism. Full details of the Policy on Plagiarism are available in the 2009
UNE Handbook and at the following web site:
http://www.une.edu.au/policies/pdf/plagiarismcoursework.pdf
The page for Avoiding Plagiarism and Academic Misconduct (Coursework)
- Information for Students is:
http://www.une.edu.au/policies/pdf/plagiarismstudentinfocw.pdf
In addition, you must complete the Plagiarism Declaration Form for all
assignments, practical reports, etc. submitted in this unit. (For electronic
submission of assignments, it is presumed that you have read the web site
and you don’t have to submit the form).
9
Library Services
The UNE University Library has an extensive collection of books, journals and online resources. Find out at http://www.une.edu.au/library/
services/unit_guide.php what can the Library do for you. This guide
provides easy pathways to UNEs vast online resources and shows how the Library can help you with your studies. You can borrow books, obtain copies
of articles and exam papers, and request advice from librarians on search
strategies and information tools to use.
10
Complaints and Appeals
Read about student appeals policy at http://www.une.edu.au/policies/
pdf/studentappealspolicy.pdf.
Please visit http://www.une.edu.au/elis/services/complaints.php
for more information and procedures.
6
Download