0% found this document useful (0 votes)
45 views4 pages

CSI2120 Syllabus W22

CSI 2120 A: Programming Paradigms covers major programming paradigms including object-oriented, imperative, logic, and functional programming, along with their related languages and applications. The course includes lectures, labs, and evaluations such as quizzes, assignments, and a final exam, with a focus on attendance and participation. Prerequisites include CSI2110, and plagiarism is strictly prohibited.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views4 pages

CSI2120 Syllabus W22

CSI 2120 A: Programming Paradigms covers major programming paradigms including object-oriented, imperative, logic, and functional programming, along with their related languages and applications. The course includes lectures, labs, and evaluations such as quizzes, assignments, and a final exam, with a focus on attendance and participation. Prerequisites include CSI2110, and plagiarism is strictly prohibited.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

CSI 2120 A: Programming Paradigms

Professor
Dr. Safaa Bedawi
Email: [email protected]
Office: STE 0110C
Office Hours: Listed in Brightspace or other times by appointment
Note: Course schedule, methodology, assessments, and exam policies etc. have been planned based on
current public health guidelines. Should these guidelines change, adjustments will be made and
communicated to students.

Description
Presentation of the major programming paradigms: object-oriented, imperative, logic, functional. Related
programming languages, their essential properties and typical applications. Programming in imperative,
logic and functional languages. Influence of programming paradigms on problem solving and program
design strategies. An overview of other paradigms, such as constraint-based, rule-based and event-driven
programming.

Prerequisites: CSI2110.

References
• Allen B. Tucker and Robert E. Noonan, Programming Languages: Principles and Paradigms,
McGraw Hill, 2nd ed., 2007.
• Maurizio Gabbrielli and Simone Martini, Programming Languages: Principles and Paradigms,
Springer, 2010. available on-line from the library.

Online references
• Prolog Programming
• R. Kent Dybvig, The Scheme Programming Language , (4th ed.), MIT Press.
• The Go Programming Language

Tools
• SWI Prolog
• The Racket language
• MIT Scheme
• Free Pascal
• Go

1/4
Timetable:

Tu 4:00PM - 5:20PM
Lecture live via zoom
Th 2:30PM - 3:50PM
https://uottawa-
ca.zoom.us/j/95824483404?pwd=d0w0Tm
Era2loL1hOK0p2eDBvNFV4UT09

Meeting ID: 958 2448 3404

Passcode: CSi2021
asynchronous (Recorded Tutorial will be posted)
Tutorial Th 4:00PM - 5:20PM
There will be 4/5 live sessions
(Details will be posted in BrightSpace)

Labs: live via Teams/Zoom. Links are posted in BrightSpace

A01 Mo 8:30AM - 9:50AM

A02 Mo 8:30AM - 9:50AM

A03 Mo 8:30AM - 9:50AM

A04 Th 10:00AM - 11:20AM

A05 Th 10:00AM - 11:20AM

A07 Th 11:30AM - 12:50PM

Evaluation

Online quizzes 9%
Assignment 24%
Comprehensive/Project 32%
assignment
Final Exam (F) 35%
and a 2% bonus for participation in the labs
Attention, you must obtain at least 50% in the final exam in order to pass this course.
• Comprehensive/Project assignment (1 assignment – 4 parts -Java OOP, Go, Prolog and scheme)
• Assignment (3 assignments (Go, Prolog and scheme))
• A missing assignment will only be excused if it is due to severe illness, in which case a certificate
must be presented.
• The weight of the excused missing component will be shifted to the final exam.

2/4
Online quizzes

• 9 exercises
• each of them which may score 0.0 (no submission), 0.5 (for effort) or 1.0 (if an [almost] correct
answer is submitted).
Mandatory Components: Attendance at the course is compulsory. As stipulated by all the school
regulations, the student who does not present at least 80% of the course will not be able to write the final
exam.

Weekly Schedule(s) Tentative and subject to change

Week# Topics Labs


Week 1 -Jan 10 ---
Introduction
Overview of the object-oriented paradigm
Week 2 – Jan 17 Imperative programming with Go Lab 1: Go
Concurrent programming with Go
Week 3 – Jan 24 Lab 2: Go
The Prolog language

Week 4 – Jan 31 Resolution tree Lab 3: Go


Arithmetic

Week 5 – Feb 7 The lists Lab 4: Prolog


Repetitive operations
Week 6 -Feb 14 Lab 5: Prolog
setof Trees

Week 7 – Feb 21 No classes -No labs -------------


Reading week February 20 to 26
Week 8 – Feb 28 Search in depth and breadth Lab 6: Prolog
Graphs

Week 9 – March 7 Compound terms Lab 7: Prolog


Semantic analysis

Week 10 - March 14 Lab 8: Prolog


Functional programming (Racket-Scheme)
Representation of lists
Week 11 - March 21 Recursive browsing of a list (Racket- Lab 9: Scheme
Scheme)
The map and the let (Racket-Scheme)
Week 12 – March 28 Lab 10: Scheme
The and! and files (Racket-Scheme)
Lists (Racket-Scheme)

Week 13 – April 4 Lab 11: Scheme


Discussion of Paradigms
Classes end Apr 9 Final exam review

3/4
Assignment submission
• Assignments are posted to Brightspace
• Plagiarism will not be tolerated
• Late submission is accepted for two day with penalty (1 % minus each late hour.)
• Theory assignment, please upload on the Brightspace website electronically (you
may type or write by hand legibly and scan it or take a photo of it. Only a single PDF
file is accepted).
• Programming assignment, please submit it to the Brightspace website. Other kinds
of submissions such as email are not accepted

Plagiarism
• Plagiarism (copying and handing in for credit someone else’s work) is a serious academic offence
that will not be tolerated. Note that the person providing solutions to be copied is also
committing an offence as they are an active participant in the plagiarism. The person copying and
the person copied from will be reprimanded equally according to the regulations set by the
University of Ottawa. Please with them refer to the section on academic offences in the
Undergraduate Calendar and the notice onplagiarism on the University of Ottawa website for
additional information: www.uottawa.ca/academic/info/regist/crs/0305/home_5_ENG.htm.
• The University of Ottawa provides, upon request, appropriate academic adjustments for students who
have learning disabilities, health, psychiatric or physical conditions. For more information, please contact
Access Service (http://www.sass.uottawa. ca/access/).
• All materials prepared by the course professor, including course notes, assignments, sample solutions,
and exam papers, are copyright. Copying or scanning them or posting them on a website is therefore a
violation of copyright and is illegal.

4/4

You might also like