CENG242 PROGRAMMING LANGUAGE CONCEPTS
Course Code: | 5710242 |
METU Credit (Theoretical-Laboratory hours/week): | 4 (3.00 - 2.00) |
ECTS Credit: | 7.0 |
Department: | Computer Engineering |
Language of Instruction: | English |
Level of Study: | Undergraduate |
Course Coordinator: | Prof.Dr. İSMAİL HAKKI TOROSLU |
Offered Semester: | Spring Semesters. |
Course Objectives
To introduce the basic concepts and features of programming languages and different programming paradigms.
Course Content
Evolution of programming languages. Overview of language translation, virtual machines, and run-time environments. Names, bindings and scopes. Values, expressions and types. Type compatibility and type checking. Storage, variables, and commands. Procedural abstraction. Generic units. Overview of functional programming paradigm. Overview of object-oriented programming paradigm: encapsulation, classes and objects, inheritance, polymorphism, dynamic binding.
Course Learning Outcomes
At the end of this course, students will be able to:
1. Understand the concepts of programing languages, and understand the different programming language paradigms.
2. Differentiate various programming language paradigms.
3. Understand and apply a language from a suitable programming language paradigm for a given problem.
4. Understand the executions of programs from different programming language paradigms, and predicting the quality of programs implemented by using different paradigms.
5. Check the syntax and semantical correctness of a program written in different programming languages.
6. Remember and use various programming language concepts.
7. Critique different programming languages for the same computational problem.
8. Interpret a computational problem specification and implement a solution in a programming language to solve that problem
9. Construct new data types, abstractions, encapsulations in various languages.
10. Modify an existing program to solve a similar but different problem.
11. Design a modular solution to a problem by decomposing it into smaller sub-problems.
Program Outcomes Matrix
Contribution | |||||
# | Program Outcomes | No | Yes | ||
1 | An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics | ✔ | |||
2 | An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors | ✔ | |||
3 | An ability to communicate effectively with a range of audiences | ✔ | |||
4 | An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts | ✔ | |||
5 | An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives | ✔ | |||
6 | An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions | ✔ | |||
7 | An ability to acquire and apply new knowledge as needed, using appropriate learning strategies | ✔ |