UBI 504 Programming Languages

 

 

Spring 2017

 

 

Instructor: Assist. Prof. Dr. Moharram Challenger (moharram.challenger@ege.edu.tr)

Assistant: Sercan Demirci (sercandemirci85@gmail.com)

Time: Thursday 09:30 – 12:00 (started at 23.02.2017)

Office Hour: TBA

 

All important information about the course will be available from this web page.

 

 

Announcements:

All materials (including Slides, HW, Lab files, …) will be provided on UBE Moodle system. Please register to this system, if you have not done it yet, by contacting to the course assistant. You should see this course in the list of “My Courses” in your Moodle page, otherwise contact the assistant.

 

 

Course Description:

Fundamental concepts of programming languages are covered in the course by discussing the design issues of the various language constructs and examining the design choices for these constructs in some of the most common languages. Topics include: programming language preliminaries, evolution of the major programming languages, describing syntax and semantics, lexical and syntax analysis, names, bindings and scopes, data types, expressions and assignment statements, statement-level control structures, subprograms, abstract data types and encapsulation constructs, support for object-oriented programming, concurrency, exception handling and event handling.

 

 

Prerequisites:

There are no course prerequisites.

 

 

Course Material:

  

Tentative Course Syllabus:

Date

Topics

Assignments

23.02

Introduction

 

02.03

Preliminaries (Part I)

 

09.03

Preliminaries (Part II)

 

16.03

Evolution of the Major Programming Languages

 

23.03

Describing Syntax and Semantics (Part I)

 

30.03

Describing Syntax and Semantics (Part II)

 

06.04

Lexical and Syntax Analysis

 

13.04

Midterm Exam

 

20.04

An Imperative-Based Object-Oriented Language: Java

(Part I) (Part II)

 

27.04

Classes, Objects, Methods and Strings

Control Statements (Part 1) (Part 2)

 

04.05

Methods: A Deeper Look

Arrays and ArrayLists

 

11.05

Classes and Objects: A Deeper Look

 

18.05

Encapsulation

 

25.05

Object-Oriented Programming: Inheritance

 

01.06

Object-Oriented Programming: Polymorphism

 

08.06

Fınal Exam

 

 

 

Grading (Tentative):