Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I sincerely wish you success and great work in all the modules you are currently taking.
While most people are dreaming of success, winners wake up and work hard to achieve it. Unfortunately, the only thing that comes to us without effort is old age. Success is simple. Do whats right, the right way, at the right time. Arnold Glascow
Now, its time to get to work. Always remember, hard work is the key to success!!!
I want to make this module as enjoyable as possible. Please feel free to ask questions and make suggestions at any time.
Module Details
Module Code: Module Title: Credits: Course: Level: Semester: Lecture: CSE 1243 Programming Paradigms 3 BSc(Hons) Computer Science 1 2 2 Hours/Week Monday 10:30 12:30 Room 3.2A, Engg. Tower Practical: 2 Hours/Week Monday 12:30 14:30 CITS ETB Lab, Engg. Tower Tuesday 08:30 10:30 CITS Ex-Common Lab
Module Aim
The goal of the course is to introduce students to the different programming paradigms and give them knowledge of basic concepts and techniques of these paradigms, through practical examples and programming exercises. Rather than discuss the ideas of each paradigms abstractly, we will experience them through programming. The goal is not to make the student an expert programmer in any of the languages. Each language has far too many advanced features and nuances to be learned in a few lectures. However, students should be equipped from this introduction to extend their expertise in each paradigm. Language syntax and semantics, type systems and stages in the compiling process will also be covered.
Module Objectives
After successfully completing this module, students should obtain the following competencies: Show an understanding of syntax and semantics of programming languages and type systems. Demonstrate an understanding of stages involved in the compiling process. Show an understanding and appreciation of the principles and practices of the main paradigms for programming.
Ability to judge the strengths and weaknesses for each paradigm in relation to concrete tasks. Ability to develop moderately complex programs in each of the programming paradigms studied.
Have a deeper and more sophisticated understanding of programming. Easily and quickly learn and develop programs using new programming languages.
The exam will evaluate to what extent a student has these competences.
Outline Syllabus
CSE 1243(1)-PROGRAMMING PARADIGMS (L/P-3) (PQ: CSE 1103) Syntax and Semantics of Programming Languages, Type Systems, Programming Constructs, Evolution of Programming Languages, and Different types of Programming Languages including Imperative Programming, Object-Oriented Programming, Functional Programming, Declarative Programming and Scripting.
Note: A student will be allowed to follow module y of which module x is a pre-requirement (PQ) provided s/he has followed module x and sat for the examinations in module x unless decided otherwise by the Faculty/ Centre/ Cluster Board and Senate.
However, students are expected to know a reasonable amount of programming in at least Python and be comfortable with basic concepts like decision structures, loops and functions. Students should be able to write well-structured and easy-to-understand code, and understand the value that comes with good variable names, functions and comments.
Assessment Overview
Written Examination Paper Duration: Weighting (%): Continuous Assessment Class Test(s): Lab Test(s): Total: 20% 10% 30% 2 Hours 70%
Types and Type Systems Object-Oriented Programming Object-Oriented Programming (Cont.) Object-Oriented Programming (Cont.) Class Test Functional Programming Functional Programming (Cont.) Functional Programming (Cont.) Logic Programming Logic Programming (Cont.) Logic Programming (Cont.) Revision
Python Programming (Recursion) Python Programming (Classes and Objects) Python Programming (Classes and Objects Cont.) Python Programming (Classes and Objects Cont.) No Lab Scheme Programming Scheme Programming (Cont.) Scheme Programming (Cont.) Prolog Programming Prolog Programming (Cont.) Prolog Programming (Cont.) Revision
Resources
Lecture Notes and Labsheets All lecture notes, labsheets and useful resources will be available on a Google site at https://sites.google.com/a/uom.ac.mu/paradigms/.
Reference Books Programming Languages: Principles and Paradigms By Allen Tucker and Robert Noonan Concepts of Programming Languages By Robert Sebesta
Contact Details
Lecturer Name: Department: Faculty: Room No.: Building: Phone No.: Email Address: Anuja Meetoo-Appavoo Computer Science and Engineering Department Faculty of Engineering 2.17 Phase II Engineering Building 403 7749 anuja.meetoo@uom.ac.mu
Style of Teaching
1. Students are expected to come prepared to lectures and labs
2. Students are expected to regularly do their homework and do their reading assignments. 3. Questions pertaining to previous lectures will be asked during lectures. 4. Students are expected to find resources and questions about topics being covered in lectures from reference books or the Internet and work them out. They should not limit themselves to only what is covered in class. 5. Every week, students will be given a labsheet to work out during their lab session. They are expected to complete the questions at home if they have not been able to do so during their lab sessions. 6. There will be NO make-up tests for absentees. If you have a conflict for any of the tests, contact me at least a week prior to the test such that your situation can be evaluated and a possible solution found. However, note that only serious conflicts and only medical reasons supported by a certificate from a healthcare institution will be considered.
Code of Conduct
1. Students are expected to be punctual and disciplined in class.
2. The use of mobile phones is not allowed in class. Students are required to switch off their mobile phone or put it on silent mode prior to entering the class. 3. Students are expected to participate actively in class. Those who regularly participate in class may be entitled bonus marks. 4. Students who miss classes should find out from their classmates about the lectures and any important announcement.
5. Plagiarism and cheating will not be tolerated. It will be dealt with according to the policies of the University of Mauritius regarding academic dishonesty. Please read these policies at http://www.uom.ac.mu/html/regulations.htm You should NOT 'borrow' or 'lend' programs from and to your friends as this may lead to failing grades to both the lender and borrower. Its far more honourable to fail than to cheat. Abraham Lincoln