26
06/20/22 Assoc. Prof. Stoyan Bonev 1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:[email protected]

6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:[email protected]

Embed Size (px)

Citation preview

Page 1: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 1

Assoc. Prof. Stoyan Bonev, PhDComputer Science dept

American University in Bulgaria

e-mail:[email protected]

Page 2: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

AUBG, COS dept

• Academic Year: 2013/14• Semester: Spring• Major: Computer Science• Course Id: COS220• Course Title: Concepts of Prog Langs• Course Status: Elective

2

Page 3: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 3

COS220Concepts of Programming

Languages

AUBG, COS dept, Spring 2014

Reference books:

Sebesta R., Concepts of Programming Languages, IE Pearson Education, Addison Wesley Publ. Com.,

10e 2013, 9e 2010, 8e 2009, 7e 2006.Louden K., Lambert K., Programming

Languages, Principles and Practice, IE Course Technology, Cengage Learning, 3e 2012.

Lafore R., Object-Oriented Programming in C++, SAMS Publ., 4e 2002.

Page 4: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 4

COS220 Concepts of PL AUBG, COS dept, Spring 2014

Lecture 00Title:

A Concise Course Presentation

(Extract from Syllabus)

Reference: COS220 Syllabus

Page 5: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 5

Lecture Contents:

• Spring 2014 Course Schedule • The Lecturer• Course History/Chronicle• References• Course Contents

Page 6: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 6

Spring 2014 Course Schedule

• One COS220 section:

• COS220a– Tue/Fri, 10:45 – 12:00– COS lab – MB120

Page 7: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 7

The Lecturer

• Lecturer: Assoc. Prof. Stoyan Bonev, PhD COS dept, AUBG

• Office: 243

• Tel.(ext.): 419

• e-mail: [email protected]

• Office Hours: see list on office door

Page 8: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 8

Course History/Chronicle• Lectures held by

– Nikolay Nikolaev (before 2000/01 AY)– Stoyan Bonev (since 2000/01 AY)

• Course id and name:– COS301 Fundamentals of Programming Languages

(before 2006/07 AY)– COS201 Fundamentals of Programming Languages

(2006/07 AY – 2011/12 AY)– COS220 Concepts of Programming Languages

(2012/13 AY)

Page 9: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 9

Recommended Textbooks

• Sebesta R., Concepts of Programming Languages, IE Pearson Education, Addison Wesley Publ. Com., 10e 2013, 9e 2010.

• Louden K., Lambert K., Programming Languages, Principles and Practice, IE Course Technology, Cengage Learning, 3e 2012.

• Lafore R., Object-Oriented Programming in C++, SAMS Publ., 4e 2002.

Page 10: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 10

Recommended Textbooks

• Other useful books:

• Friedman F., E.Koffman, Problem Solving, Abstraction and Design Using C++, IE Pearson Education, Addison Wesley Publ. Com., 2007.

• Gregory K., Microsoft Visual C++ .NET 2003, SAMS, 2004.

• Kernighan B., Ritchie D., The C Programming Language, Prentice Hall, 2nd Edition.

• Flanagan D., JAVA in a Nutschell, O’Reilly & Associates, 5th Edition, 2005.

Page 11: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 11

Course Contents

• Programming Styles:– Procedure oriented or imperative programming

• Components of PL: data, operands, operators, expressions, statements, subroutines, programs

• Structured Programming

• Object-Oriented Programming– Encapsulation, Inheritance, Polymorphism

– Class libraries - CCL, STL, MFC, FCL

– Logic Programming

– Functional Programming

Page 12: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 12

Course Contents in Details

• COS220 Course syllabus, handouts and .ppt files for the course lectures are available on Student server– Root: H:\shared– SubFolder: COS220

Page 13: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 13

Course Contents in Details

No Topic

Sec 1

Basic Components of Programming Languages

Sec 2

OOP Basics

Sec 3

Advanced Components of Programming Languages

Sec 4

Programming Styles

Sec 5

Auxiliary

Page 14: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 14

Course Contents – Sec 1

Sec 1 Basic Components of Programming Languages /PL/  Introduction to PL. Styles. Domains. Evaluation criteria.

Evolution. Software life cycle.Data in PL. Simple Data Types. Fundamental (Basic) data types

and Abstract (User Defined) data types.Data in PL. Data Collections – Arrays, Structures.Data in PL. Data Structures – Stack, Queue, Deque, Binary Tree.Expressions.Statements.The subroutine concept.Iteration and Recursion.

Page 15: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 15

Course Contents – Sec 2

Sec 2 OOP Basics  Data Encapsulation and Data Hiding.

Inheritance.Polymorphism.Operator Overloading.Data Conversion.Generic Programming.

Page 16: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 16

Course Contents – Sec 3

Sec 3 Advanced Components of Programming Languages  Standard Template Library: Containers, Iterators, Algorithms

Input Data Validation.Exception Handling.Event Driven Programming.Thread Programming.Lexical Structure and Syntax Structure of PL.

Page 17: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 17

Course Contents – Sec 4

Sec 4 Programming Styles  Logic Programming.

Functional Programming.

Page 18: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 18

Course Grading• Grading:Final exam: 25%

Midterm exam: 50% (2x25%)Class project: 15%Quizzes: 10% (4x2.5%)

Students will get a score in the range 0-100 for each of the components. The total score (computed with the above coefficients) will be used to form the final grade:

• A–, A (excellent) scores 90-100 90- - - - - - -96 96-100• B–, B, B+ (good) scores 80-90 80-83 83-86 86-90• C–, C, C+ (average) scores 70-80 70-73 73-76 76-80• D, D+ (poor) scores 60-70 60- - - - - - -66 66-70• Scores below 60 mean failure.

Page 19: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 19

Course Grading

• Component: Final exam:

Page 20: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 20

Course Grading

• Component: Midterm exam: 2x

Page 21: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 21

Course Grading

• Component: Class project:

Page 22: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 22

Course Grading

• Component: Quizzes: 4x

Page 23: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 23

Attendance

• Students are expected to attend all classes (lectures and exercises).

• An attendance register will be taken at each class.• Students who miss three classes will be dropped

from the course.• Mobile phones ringing in class disturb the whole

class. Switch off, please your mobile phone before each class.

Page 24: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 24

Academic Honesty

• Students are expected to demonstrate academic behavior in full capacity of the term.

Page 25: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

04/18/23 Assoc. Prof. Stoyan Bonev 25

Declaration of Ethics

• This set of .PPT files presenting the COS220 course contents (including slides style and contents) was created using the following sources:

• Sample .ppt files (partly) and Source texts of demo programs (partly) associated with text books by– Robert Sebesta – Kenneth Louden, Kenneth Lambert– Robert Lafore

Page 26: 6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria e-mail:sbonev@aubg.bg

Thank Youfor

Your attention