Programming Paradigms COMP 3007 Overview Introductions Course Logistics

  • Slides: 14
Download presentation
Programming Paradigms COMP 3007

Programming Paradigms COMP 3007

Overview • Introductions • Course – Logistics – Process – Deliverables – Objectives –

Overview • Introductions • Course – Logistics – Process – Deliverables – Objectives – Outline

Introduction • Tony White, Associate Professor – Office: Herzberg 5354 – Tel: 520 -2600

Introduction • Tony White, Associate Professor – Office: Herzberg 5354 – Tel: 520 -2600 x 2208 – Fax: 520 -4334 – E-mail: arpwhite@scs. carleton. ca – Web: http: //www. scs. carleton. ca/~arpwhite – Course: http: //www. scs. carleton. ca/courses

Communication • All course-related e-mail to have a subject line that contains the text

Communication • All course-related e-mail to have a subject line that contains the text “COMP 3007” • All requests must be documented via e-mail, a verbal agreement is insufficient. • Requests for extensions to an assignment or project deadline, changes in student lecture schedule must occur more than 24 hours prior to the deadline or lecture time. Failure to do this will result in the student being considered in default of the deadline. • Notes for illness: I do require them.

Logistics • Lectures: – Tuesday 2: 30 pm-4: 00 pm, SA 317 – Thursday

Logistics • Lectures: – Tuesday 2: 30 pm-4: 00 pm, SA 317 – Thursday 2: 30 pm-4: 00 pm, SA 317 • Rescheduled classes: – None yet … • Office Hours: – Thursday, 11: 30 pm-1: 30 pm – By arrangement, with e-mail confirmation of professor’s availability. • Assignments: – Due by 11: 55 pm on date posted. – Late assignments will be not be accepted unless a deferral is granted. – Submission is using Raven system

Course Expectations • Final: 55% – Will consist of multi-choice, definitions, and programming •

Course Expectations • Final: 55% – Will consist of multi-choice, definitions, and programming • Midterm: 15% – Will consist of multi-choice, definitions, and programming • Assignments: 30% – – 4 assignments, 3 Scheme, 1 Prolog Poor Testing or inadequate documentation will be heavily penalized 25% of assignment marks for testing and documentation Fabricated test output will result in 0 marks for a question • Notes: – Assignments delivered using Raven system – You must use Dr Scheme for Scheme assignments – You must use SWI Prolog for Prolog assignments. Double Pass Rule applies!

I provide: • Lecture notes (2 forms) • Assignments • Assignment solutions • Course

I provide: • Lecture notes (2 forms) • Assignments • Assignment solutions • Course news At: http: //www. scs. carleton. ca/~arpwhite/courses/3007/index. html Link on http: //www. scs. carleton. ca/courses or At http: //www. scs. carleton. ca/~arpwhite

Software and Books • Scheme – Dr Scheme: www. drscheme. org – Book: Structure

Software and Books • Scheme – Dr Scheme: www. drscheme. org – Book: Structure and Interpretation of Computer Programs • Prolog – SWI Prolog: www. swi-prolog. org – Book: Programming in Prolog

Plagiarism n 1. A piece of writing that has been copied from someone else

Plagiarism n 1. A piece of writing that has been copied from someone else and is presented as being your own work 2. The act of plagiarizing; taking someone's words or ideas as if they were your own Source: Word. Net ® 1. 6, © 1997 Princeton University

Results of Plagiarism • If suspected, an oral examination will occur. • For a

Results of Plagiarism • If suspected, an oral examination will occur. • For a first offence: – If confirmed, student will be given zero marks for the piece of work and the incident will be reported to the Director. • On a second offence: – If confirmed, the student will be given an “F” grade for the course and asked to withdraw. The Director will be informed.

Objectives • Computation as a process – Programming semantics – Bindings and environments –

Objectives • Computation as a process – Programming semantics – Bindings and environments – Metacircular interpreters • Introduction to: – Functional programming – Logic programming Provide an understanding of what’s going on inside the machine.

Course of Study I • Introduction to programming paradigms • Introduction to Scheme •

Course of Study I • Introduction to programming paradigms • Introduction to Scheme • Building abstractions – With procedures – With data • Modularity in Object State • Environments • Metalinguistic abstractions

Course of Study II • • • Introduction to Logic Programming with Prolog Recursive

Course of Study II • • • Introduction to Logic Programming with Prolog Recursive Logic Programming The Prolog Cut (Time permitting) – Expert systems – Advanced reasoning