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 | Bachelor’s Degree (First Cycle) |
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 | Ana ders kitabı Bölüm 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 | |
---|---|
Major Area Courses | |
Supportive Courses | X |
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 | Adequate knowledge in mathematics, science and subjects specific to the software engineering discipline; the ability to apply theoretical and practical knowledge of these areas to complex engineering problems. | X | ||||
2 | The ability to identify, define, formulate and solve complex engineering problems; selecting and applying proper analysis and modeling techniques for this purpose. | |||||
3 | The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. | X | ||||
4 | The ability to develop, select and utilize modern techniques and tools essential for the analysis and determination of complex problems in software engineering applications; the ability to utilize information technologies effectively. | X | ||||
5 | The ability to gather data, analyze and interpret results for the investigation of complex engineering problems or research topics specific to the software engineering discipline. | |||||
6 | The ability to work effectively in inter/inner disciplinary teams; ability to work individually. | |||||
7 | Effective oral and written communication skills in Turkish; the ability to write effective reports and comprehend written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions. | |||||
8 | The knowledge of at least one foreign language; the ability to write effective reports and comprehend written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions. | |||||
9 | Recognition of the need for lifelong learning; the ability to access information and follow recent developments in science and technology with continuous self-development | X | ||||
10 | The ability to behave according to ethical principles, awareness of professional and ethical responsibility. | |||||
11 | Knowledge of the standards utilized in software engineering applications. | |||||
12 | Knowledge on business practices such as project management, risk management and change management. | |||||
13 | Awareness about entrepreneurship, and innovation. | |||||
14 | Knowledge on sustainable development. | |||||
15 | Knowledge of the effects of software engineering applications on the universal and social dimensions of health, environment, and safety. | |||||
16 | Awareness of the legal consequences of engineering solutions. | |||||
17 | An ability to apply algorithmic principles, mathematical foundations, and computer science theory in the modeling and design of computer-based systems with the trade-offs involved in design choices. | X | ||||
18 | The ability to apply engineering approach to the development of software systems by analyzing, designing, implementing, verifying, validating and maintaining software systems. | X |
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 | 14 | 3 | 42 |
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 | 149 |