CH 0 - Lecture 0 - Course Organization
CH 0 - Lecture 0 - Course Organization
CSC 300
Programming Languages
Course Organization
Dr. Asim Abdallah Elshiekh, University of Tabuk, Fac. of Computers & IT Programming Languages: Lecture (0)
Lectures, Instructor, and Office Hours 2
Sunday, Tuesday
Dr. Asim Abdallah Elshiekh, University of Tabuk, Fac. of Computers & IT Programming Languages: Lecture (0)
Course Title, Credit Hours, and Pre-requisite 3
CSC 300
Course Title:
Programming Languages
CSC 220
Pre-requisite:
Data Structures and Algorithms
Dr. Asim Abdallah Elshiekh, University of Tabuk, Fac. of Computers & IT Programming Languages: Lecture (0)
Course Description 4
Course Description
This course provides an in-depth study of the history and development of
features and constructs in a wide variety of programming languages.
Topics will vary from basic to advance in areas such as syntax, semantics,
binding, names, type checking, scopes, data types, data abstraction,
exception handling, concurrency and functional, logic and object oriented
programming.
Some programming will be required to help you get the feel of different
types of languages. In particular, you will be expected to develop
programs in two new paradigms with which you may not be familiar.
Dr. Asim Abdallah Elshiekh, University of Tabuk, Fac. of Computers & IT Programming Languages: Lecture (0)
Course Objectives 5
Course Objectives
Understand the principles and components of programming
language design, such as control structures, names, types,
exceptions, etc.
Become familiar with the various schools or paradigms of
programming languages, for instance functional languages.
Use several programming languages.
Learn how to specify syntax and semantics for a language.
Develop a rudimentary understanding of programming language
implementation, especially insofar as the implementation impacts
language design.
Evaluate the tradeoffs between the different paradigms, considering
such issues as space efficiency, time efficiency.
Dr. Asim Abdallah Elshiekh, University of Tabuk, Fac. of Computers & IT Programming Languages: Lecture (0)
Course Topics 6
Course Topics
No Lecture Topic Lectures
1 Preliminaries Lec (1-2)
2 Evolution of the Major Programming Languages Lec (3)
3 Describing Syntax and Semantics
Lec (4-5)
4 Lexical and Syntax Analysis
5 Names, Bindings, Type Checking, and Scopes Lec (6-7)
6 Data Types Lec (8-9)
7 Expressions and the Assignment Statement Lec (10)
8 Statement-Level Control Structures Lec (11)
9 Subprograms and Implementing Subprograms Lec (12)
10 Abstract Data Types Lec (13)
11 Support for Object-Oriented Programming Lec (14)
12 Concurrency and exception handling Lec (15)
13 Functional Programming Languages (Scheme Language) Lec (2)
14 Final Exam Period
Dr. Asim Abdallah Elshiekh, University of Tabuk, Fac. of Computers & IT Programming Languages: Lecture (0)
Course Assessment 7
Course Assessment
Proportion
Assessment
Assessment of Final Topics Week
Task
Assessment
Dr. Asim Abdallah Elshiekh, University of Tabuk, Fac. of Computers & IT Programming Languages: Lecture (0)
References 8
References
1 Robert W. Sebesta. Concepts of Programming Languages, Addison Wesley 10th ed, 2012.
Daniel P. Friedman and Mitchell Wand. Essentials of Programming Languages, 3ed, MIT
2
Press 2008.
4 Sethi, Programming Languages: Concepts and Constructs, Addison Wesley, 2nd, 2003.
References (cont.)
Dr. Asim Abdallah Elshiekh, University of Tabuk, Fac. of Computers & IT Programming Languages: Lecture (0)