ECTS - Study of Programming Languages
Study of Programming Languages (CMPE325) Course Detail
| Course Name | Course Code | Season | Lecture Hours | Application Hours | Lab Hours | Credit | ECTS |
|---|---|---|---|---|---|---|---|
| Study of Programming Languages | CMPE325 | 5. Semester | 3 | 0 | 0 | 3 | 6 |
| Pre-requisite Course(s) |
|---|
| CMPE225 |
| Course Language | English |
|---|---|
| Course Type | Compulsory Departmental Courses |
| Course Level | Natural & Applied Sciences Master's Degree |
| Mode of Delivery | Face To Face |
| Learning and Teaching Strategies | Lecture. |
| Course Lecturer(s) |
|
| Course Objectives | The objective of this course is to teach different programming language concepts and paradigms, such as imperative, functional, and object-oriented paradigms. The students will be able to compare how different programming concepts are handled in different type of languages. The students get a chance to apply their knowledge by completing homework assignments written in example programming languages. |
| Course Learning Outcomes |
The students who succeeded in this course;
|
| Course Content | Study of programming language concepts: syntax and semantics, types, values, expressions, and statements; program structure; procedures and functions; structured data; abstraction and encapsulation; inheritance; dynamic binding; concepts of programming paradigms by means of functional, procedural, and object-oriented programming languages. |
Weekly Subjects and Releated Preparation Studies
| Week | Subjects | Preparation |
|---|---|---|
| 1 | Preliminaries and Introduction | Chapter 1 (main text) |
| 2 | Syntax and Semantics | Chapter 3.1, 3.2, 3.3 |
| 3 | Lexical and Syntax Analysis | Chapter 4.1, 4.2, 4.3, 4.4 |
| 4 | Names, Bindings, Type Checking, Scopes | Chapter 5 |
| 5 | Names, Bindings, Type Checking, Scopes | Chapter 5 |
| 6 | Data Types, Expressions | Chapter 6 |
| 7 | Expressions and Assignment Statements | Chapter 7 |
| 8 | Statement Level Control Structures | Chapter 8 |
| 9 | Subprograms | Chapter 9 |
| 10 | Subprograms | Chapter 9 |
| 11 | Implementing Subprograms | Chapter 10 |
| 12 | Abstract Data Types and Encapsulation | Chapter 12 |
| 13 | Functional Programming | Chapter 15 |
| 14 | Functional Programming | Chapter 15 |
| 15 | Review | |
| 16 | Review |
Sources
| Course Book | 1. Robert W. Sebesta, Concepts of Programming Languages, 10th Edition, Pearson, 2012. ISBN #978-0-321-50968-0. |
|---|---|
| Other Sources | 2. David A. Watt, Programming Language Design Concepts, Wiley, 2004. |
| 3. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html | |
| 4. http://www.python.org/ | |
| 5. http://www.haskell.org/ | |
| 6. http://www.haskell.org/haskellwiki/Definition |
Evaluation System
| Requirements | Number | Percentage of Grade |
|---|---|---|
| Attendance/Participation | - | - |
| Laboratory | - | - |
| Application | - | - |
| Field Work | - | - |
| Special Course Internship | - | - |
| Quizzes/Studio Critics | - | - |
| Homework Assignments | 3 | 10 |
| Presentation | - | - |
| Project | - | - |
| Report | - | - |
| Seminar | - | - |
| Midterms Exams/Midterms Jury | 2 | 55 |
| Final Exam/Final Jury | 1 | 35 |
| Toplam | 6 | 100 |
| Percentage of Semester Work | 65 |
|---|---|
| Percentage of Final Work | 35 |
| Total | 100 |
Course Category
| Core Courses | X |
|---|---|
| Major Area Courses | |
| Supportive Courses | |
| Media and Managment Skills Courses | |
| Transferable Skill Courses |
The Relation Between Course Learning Competencies and Program Qualifications
| # | Program Qualifications / Competencies | Level of Contribution | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 1 | An ability to apply advanced knowledge of computing and/or informatics to solve software engineering problems. | |||||
| 2 | Develop solutions using different technologies, software architectures and life-cycle approaches. | |||||
| 3 | An ability to design, implement and evaluate a software system, component, process or program by using modern techniques and engineering tools required for software engineering practices. | |||||
| 4 | An ability to gather/acquire, analyze, interpret data and make decisions to understand software requirements. | |||||
| 5 | Skills of effective oral and written communication and critical thinking about a wide range of issues arising in the context of working constructively on software projects. | |||||
| 6 | An ability to access information in order to follow recent developments in science and technology and to perform scientific research or implement a project in the software engineering domain. | |||||
| 7 | An understanding of professional, legal, ethical and social issues and responsibilities related to Software Engineering. | |||||
| 8 | Skills in project and risk management, awareness about importance of entrepreneurship, innovation and long-term development, and recognition of international standards of excellence for software engineering practices standards and methodologies. | |||||
| 9 | An understanding about the impact of Software Engineering solutions in a global, environmental, societal and legal context while making decisions. | |||||
| 10 | Promote the development, adoption and sustained use of standards of excellence for software engineering practices. | |||||
ECTS/Workload Table
| Activities | Number | Duration (Hours) | Total Workload |
|---|---|---|---|
| Course Hours (Including Exam Week: 16 x Total Hours) | 16 | 3 | 48 |
| Laboratory | |||
| Application | |||
| Special Course Internship | |||
| Field Work | |||
| Study Hours Out of Class | 16 | 2 | 32 |
| Presentation/Seminar Prepration | |||
| Project | |||
| Report | |||
| Homework Assignments | 3 | 8 | 24 |
| Quizzes/Studio Critics | |||
| Prepration of Midterm Exams/Midterm Jury | 2 | 10 | 20 |
| Prepration of Final Exams/Final Jury | 1 | 15 | 15 |
| Total Workload | 139 | ||
