Department of Electrical and Computer Engineering
North South University (NSU)
Course Outline – Spring 2019
CSE 425: Concepts of Programming Language
Instructor: Dr. Md. Mahfuzur Rahman, Assistant Professor, ECE Department, NSU
Office Location: SAC 1044A
Office Hours: S : 11:45 - 12:45, M : 10:15 - 11:15 & 3:00 - 7:00,
T : 11:45 - 12:45, W : 10:15 - 11:15
Email Address: [email protected]
Course Summary:
This course covers the fundamental concepts of different programming languages by
discussing the design issues of the various language constructs, examining the design
choices for this construction in some of the most common languages, and critically
comparing language design alternatives. Specifically, the course covers – Programming
Paradigm and Language Categories, Language Design & Evolutions, Syntax &
Semantics, Lexical & Syntax analyzers, Names, Scopes & Bindings, Datatypes & Type
checking, abstract data types, Statements & Expressions, Subprograms, Object-Oriented
Programming, Concurrency, Exception Handling, Functional and Logic programming
languages etc.networks. Concept of object orientation as a data abstraction technique will
be introduced.
Course Objectives: The objectives of this course are to
a. illustrate the programming paradigms, principles, fundamental concepts and
techniques involved in design and implementation of major programming languages
b. elaborate key programming concepts of major imperative, declarative, and object-
oriented programming languages, their merits and limitations
c. familiarize , concurrency control, and exception handling
d. demonstrate key concepts of functional and logic programming languages, their
purpose and applications
Course Credit: 3 credits
Pre-Requisites: CSE 225: Data Structures and Algorithms
Textbook: Programming Languages: Principles and Practices by Kenneth C. Louden and
Kenneth A. Lambert, Course Technology, Cengage Learning, 2012 (3rd Edition).
Reference Text & Materials:
• Concepts of Programming Languages by Robert W Sebesta, Pearson (10th edition)
• Comparative Programming Languages by Leslie Wilson, Robert, Addison-Wisley
• Additional reading materials will be provided and uploaded in the course website
Class Schedule
There will be three classes per week following NSU Academic Calendar. Three classes in
each week will be completed with two meetings. Each class meeting will be for 90
minutes.
Contents Overview:
The course material is divided into seven units where each unit consists of a series of
learning activities including attending classes, reading from class notes and textbook,
programming practices, and completion of works for evaluation.
Unit Topic(s) Week(s) Related Works
1 Language Design Criteria 2
Quiz 1, 2
2 Functional Programming 2
Assignment 1, 2
3 Logic Programming 2
Mid Exam
4 Syntax and Basic Semantics 2
5 Object Oriented Programming 2 Quiz 3, 4
6 Modern Programming Languages 1 Assignment 3
7 Parallel Programming 1
Final Exam
Assessment Scheme:
Assessment Tools Weightage (%)
Class Performance 10%
Quizzes (best 3) 15%
Assignments 15%
Midterm 30%
Final Exam 30%
Total 100%
Class performance: Asking questions, taking part in discussions, and so on.
Exams and Quizzes: Exams and quizzes will be closed book and closed notes. No electronic
devices except non-programmable calculators will be allowed during exams. Calculators cannot
be shared with friends. There will be no makeup quizzes or exams. If you miss a quiz or exam,
you will get zero for that. Final exam will be comprehensive.
Assignments: There will be several home works/ assignments throughout the semester No late
submission will be accepted. To be successful in the exam, you should solve assignment
problems independently, although you may discuss with your friends to understand a more
comprehensive picture of the problems.
Grading Scheme
Scores (in %) Letter Grade Grade Points
93 & above A Excellent 4.0
90 to <93 A- 3.7
87 to <90 B+ 3.3
83 to <87 B Good 3.0
80 to <83 B- 2.7
77 to <80 C+ 2.3
73 to <77 C Average 2.0
70 to <73 C- 1.7
67 to <70 D+ 1.3
60 to <67 D Poor 1.0
00 to <60 F* 0.0
I** Incomplete 0.0
W** Withdrawal 0.0
R** Retaken 0.0
Class etiquette: Distracting others in class is violating others rights to be attentive. So, laptop,
tablets, cell phones or any other devices cannot be turned on during class time. You have to
share any talk with the whole class. Attendance will be counted at the beginning of the class and
if you are late then no late attendance will be counted.
Grade dispute: If you dispute your grade on any homework, quiz or exam, you have one-week
time (from the date that the graded paper was returned to you) to request a change in the grade.
After this time, no further change in grade will be considered.
Academic dishonesty: Any means of unauthorized assistance in preparing materials, which a
student submits as own work, is deemed to be cheating and constitutes grounds for disciplinary
action. Instructors are expected to use reasonably practical means of preventing and detecting
cheating. Any student judged to have engaged in cheating might receive a reduced grade for the
work in question, a failing grade in the course, or such other lesser penalty, as the instructor
deems appropriate. Serious instances may be referred to the Disciplinary Committee of NSU.