0% found this document useful (0 votes)
946 views20 pages

Welcome All of You To The ICS-410 Course

The document provides an overview of an introductory course on programming languages. It discusses the course outline, contact information for the instructor, grading policies, topics to be covered each week, learning objectives, and strategies to promote an active learning environment including student presentations. The goal is for students to understand fundamental programming language concepts and be able to evaluate existing and future languages.

Uploaded by

Eren Yeager
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)
946 views20 pages

Welcome All of You To The ICS-410 Course

The document provides an overview of an introductory course on programming languages. It discusses the course outline, contact information for the instructor, grading policies, topics to be covered each week, learning objectives, and strategies to promote an active learning environment including student presentations. The goal is for students to understand fundamental programming language concepts and be able to evaluate existing and future languages.

Uploaded by

Eren Yeager
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/ 20

Welcome all of you to the ICS-410 Course

I will do my best to let you understand and be


knowledgeable in the “Programming Languages”.
Dr. Tarek Helmy, KFUPM-ICS
ICS 410 “Programming Languages”

Week 1.1

Course Introduction

Dr. Tarek Helmy El-Basuny

Dr. Tarek Helmy, KFUPM-ICS


Outline of Today’s Class

• We will discuss the course outline & some coordination issues.


– My Contact Data,
– Setting the Office Hours,
– Course Information,
– Text-Book & References of the Course,
– Notes for Class Attendance,
– Grading Polices, and Expected-Date of the Midterm Exam,
– Course Contents and Schedule per Weeks # of the semester,
– Collaborative Environment and Active Learning Strategy,
– Course Goals, Objectives and Learning Outcomes,
– Advices: To be A* Student
– Inquiry Based Learning (IBL) method to be used in the course,
– Outline of the Course Topics,
– Knowing more about you and your interest in the course.
Dr. Tarek Helmy, KFUPM-ICS 3
Contact Data and Office Hours

• My email address is: [email protected],


• My office Location is: Building # 22, Room # 137-3.
• My office Tel. is: 1967.

• Classes will be conducted on: Sunday, Tuesday, and Thursday.


• From 8:00 to 8:50 am, in building # 24, room # 250.

• We will conduct the classes virtually through MS-Teams on the


scheduled class times until physical classes are allowed by the
university, then assigned classrooms will be used.

• Office Hours:
• Sunday, Tuesday, Thursday, from 12:00 am to 1:00 pm, or
• On demand, you may arrange with me for a meeting by email.

Dr. Tarek Helmy, KFUPM-ICS 4


Course Information

• Course Name is: Programming Languages, ICS 410, it is 3


credits (3-0-3).
• It is a single section course.
– Midterm and final Exams will be conducted at Campus.
– There are theoretical assignments with a weight of 10% of the
course grade.
– In the assignments, you will practice selective exercises and
practical assignments of the programming languages from
the text book.
• Pre-requisite Course:
– ICS 202 (Data Structures) or equivalent
• Pre-requisites by Topics:
– Fundamentals of C programming,
– Algorithms and Problem-Solving,

Dr. Tarek Helmy, KFUPM-ICS 5


References of the Course

 Main Text Book: Concepts of Programming Languages, 10th or 11th or


12th Edition, Robert W. Sebesta, 2012, or 2017 or 2019.

 Topics presented in the classes should be your main reference.


 We may elaborate more on some topics than what is there in the text
book.
 Text book exercises are very important for quizzes and exams.
 Reading more information from other books and Websites is
recommended.

Dr. Tarek Helmy, KFUPM-ICS 6


Important Notes for Class Attendance

• Attendance will be taken at the end of the class. That will start after
finishing the period of add/drop classes.
• You will have about four absences FREE of charge.

• Each subsequent absence, up to the ninth absence, is worth -0.5


percentage point of your overall score.

• After ten absences without any excuses, you will automatically


assigned DN grade (According to the University Regulation).
• An unexcused absence will become an excused one ONLY by an
official letter from the Deanship of Students Affair.

Dr. Tarek Helmy, KFUPM-ICS 7


Course Contents & Schedule Per Weeks

Week/s Chapter/s Topic


Course Introduction and Preliminaries of the Programming
1-2 1
Concepts (5 hours).
Imperative Programming Languages & Introduction to C (3
2-3 Slides
hours).
4-5 3 Describing Syntax and Semantics (3 hours)
5-6 4 Lexical and Syntax Analysis (3 hours)
6-7 5 Names, Bindings, Type Checking and Scopes (6 hours)
7-8 6 Data Types (4 hour)
8-9 7 Expressions and the Assignment Statements (4 hours)
9-10 8 Statement-Level Control Structure (4 hours)
10-11 9 Subprograms (3 hours).
11-12 10 Implementing Subprograms (3 hours).
Functional Programming Languages-Introduction to
12-13 15
Scheme/Haskell (4 hours)
14-15 16 Logic Programming - Introduction to Prolog (3 hours).
Dr. Tarek Helmy, KFUPM-ICS 8
Collaborative Environment

• We would like the course to run smoothly and to be enjoyable for you.
– Help each other to understand the fundamentals of programming
languages.
– Be supportive and collaborative with me and with your colleagues.
– Feel free to ask about any ambiguous concepts during the class.

• Feedback, by email or in person, always welcome.


– Feel free to let me know what you find just good or bad about the
course.

• I am really in your side and doing my best to help you.


– Do not miss-interpret the democratic way of interaction.
– I can handle criticism or difference of opinions friendly.
– Your honest course-related feedbacks will be highly appreciated
and implemented.

Dr. Tarek Helmy, KFUPM-ICS 9


Active Learning Strategies
• Passive Learning/Instructor-Centered: The students are passive and just receiving
information and ideas from the instructor. This approach is now obsolete.
• Active/Cooperative Learning/Student-Centered: The students should be involved in
doing, observing, self learning, presenting and giving feedback through:
– Reading the materials before coming to the class.
– Engage in the class and discuss about the presented topics.
• You/Team will be assigned a book chapter to read, and present in the class.
• You will be asked to summarize what we said at the end/beginning of the class.
• You may be asked to answer some questions during the classes.
• As a motivation, a part of the course assessment will be assigned for such activity.
• Moreover, you will be rewarded pounce marks by actively participating and engaging in
the classes through asking or answering questions, this is a chance to make up the
quizzes and exams.
• Your feedback about some issues will be highly appreciated: i.e.
• What kind of questions and topics should be covered in the exams in a way
that we keep the standard quality of learning outcomes.
• Time of the exams and quizzes.

Dr. Tarek Helmy, KFUPM-ICS 10


Grading Polices with Details

 Theoretical Exercises and Assignments (most of them will be 10 %


from the text book exercises) will be posted through the BB account.
 You need to monitor the posting and due dates of each assignment.
 Notifications/emails will be sent after posting each assignment.
 Handwriting of your solution will be favored.
 No late submission will be accepted.
• Active Learning by presenting certain Chapter/Topics. 15 %

 Quizzes; Three and we may have 4 quizzes and select the best 15 %
three (Attendance & active class discussion can make up your
performance in quizzes).
 Physical Midterm-Exam: around Week # 8 or 9. 30 %
• Location, Time and Material TBA in the BB and in the classes.
 Physical Final-Exam: TBA (80% material after Midterm-Exam and 30 %
20% comprehensive)

Dr. Tarek Helmy, KFUPM-ICS 11


The Main Goals of Studying Programming Languages

• To introduce the fundamental constructs of modern


Programming Languages (PL).

• To provide the students with the tools necessary for the critical
evaluation of existing and future PL.

• To prepare the students for the study of compiler design, by


providing an in-depth discussion of PL structures, formal
methods of describing syntax, and introducing approaches to
lexical and syntactic analysis.

Dr. Tarek Helmy, KFUPM-ICS 12


Course Objectives & Learning Outcomes

• Course Objectives: The objective of this course is to introduce:


– The basic issues in the design & implementation of programming
languages (PLs).
– The syntax and semantics specifications of PLs.
– Programming Languages design trade-offs.
– The major programming paradigms: Object-Oriented, Procedural,
Functional, and Logical.

• Learning Outcomes: by the end of this course you will be able to:
– Identify various design issues and how they are handled in different
PL paradigms.
– Use formal tools like Backus-Naur Form (BNF), Extended BNF
(EBNF), attribute grammars, operational semantics, etc. to model
syntax and semantics of PLs.
– Write programs in functional, logic, and imperative PLs.
– Apply various PL concepts, such as parameter passing and variable
scope.
Dr. Tarek Helmy, KFUPM-ICS 13
Advices: To be A* Student

• Try to skim the slides/book chapter of the class before


attending it.

• Attend the classes with concentration, engagement, and


ask about any unclear concepts.

• Try to understand everything, not to memorize it.

• Try to practice and solve exercises/assignments by


yourself.

• Prepare yourself well for quizzes and exams.

• Adhere to the instructions we say during the classes.

Dr. Tarek Helmy, KFUPM-ICS 14


Inquiry Based Learning (IBL)

• As you know that KFUPM would like to move towards promoting


the use of Inquiry Based Learning (IBL) instructional methods as
"novel teaching methods”.
• As an initiative, I am going to apply new learning methods through
the ICS 410 classes as followings.
– Getting students to practice self-reading and studying the
textbook’s chapters on their own.
– Helping students to use their textbooks more effectively as
many students are poor readers and don’t know how to extract
key information from the textbook.
– Improve the self-learning through developing the reading skills.
– This results in students having a deeper understanding of key
concepts and makes it easier for them to integrate those
concepts into real-world problems.
– Improve the communication skills through presenting the topics
to the classmates.
Dr. Tarek Helmy, KFUPM-ICS 15
Inquiry Based Learning (IBL)

• As a part of the course assessment, students will be


involved in designing the course material so that students
can’t do well without reading the book chapters as
following.
– A group of 2~3 will be assigned a book chapter to
present. It requires students to do more than just
passively read to book chapter.
– The assignments must be structured so that students
will be in charge of reading the book chapter about a
certain topic, prepare the PPT slides, present it to the
classmates, engage and respond to the questions
while presenting the topics.

Dr. Tarek Helmy, KFUPM-ICS 16


Outline of the Course Topics

• Chapter 1 begins with a rationale for studying Programming


Languages (PL).
• It discusses the criteria used for evaluating PL and language
constructs.
• It examines the primary influences on language design,
common design tradeoffs, and the basic approaches to
implementation.
• Chapter 2: self-study and will not be covered in the assessment.
• It outlines the evolution of the PL.
• It provides the background necessary to understanding the
practical and theoretical basis for PL design.
• Since Chapter 2 will not be covered, instead we will introduce
the basics of imperative programming using the C PL.
• Chapter 3 describes the primary formal method for describing the
syntax of PL (Backus-Naur Form (BNF)).
• Chapter 4 introduces lexical and syntax analysis of PL.
Dr. Tarek Helmy, KFUPM-ICS 17
Outline of the Course Topics

 Chapter 5 covers many characteristics of variables in PLs.


 Chapter 6 covers different data types in PLs.
 Chapter 7 explains expressions and assignment statements in PLs.
 Chapter 8 describes control statements in PLs.
 Chapters 9 & 10 discuss subprograms implementation in PLs.
 Chapter 11 examines data abstraction facilities in PLs.
 Chapter 12 provides an in-depth discussion of PLs features that support
OOP (inheritance and dynamic method binding).
 Chapter 13 discusses concurrent program units in PLs.
 Chapter 14 is about exception and event handling in PLs.
 Chapters 11~14 will not be introduced in the undergrad level but will
be introduced in the advanced PLs course at the graduate level)
 Chapter 15 introduces the Scheme, including descriptions of some of its
primitive functions, special forms, and functional forms, as well as some
examples of simple functions written in Scheme.
 Chapter 16 introduces logic programming and Prolog as a logic
programming language.
Dr. Tarek Helmy, KFUPM-ICS 18
Let me hear from you

• Before getting into the course details, let me know!

• What do you recommend for us to run the course in an


enjoyable way?
• Why do you take this course? !!!!

• What do you expect to learn in this course?

• Are you ready for active learning environment?

Dr. Tarek Helmy, KFUPM-ICS 19


The End!!

Thank you

Any Questions?

Dr. Tarek Helmy, KFUPM-ICS 20

You might also like