CENG111 INTRODUCTION TO COMPUTER ENG. CONCEPTS

Course Code:5710111
METU Credit (Theoretical-Laboratory hours/week):4 (3.00 - 2.00)
ECTS Credit:4.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Prof.Dr. SİNAN KALKAN
Offered Semester:Fall Semesters.

Course Objectives

The objective of the course is to lay the foundations of computers and computer programming . Starting with the history and basic theoretical aspects of computers and computing, this course provides students with basic knowledge of how computers work, how they can represent data, how algorithms can be developed and analyzed, and how they can be programmed to solve various tasks. Python is used as the primary programming language to illustrate various concepts.


Course Content

Introduction to fundamentals of computer systems, including computer organization, operating systems, language processors and user interfaces. Introduction to algorithms and programming. Reasoning informally about the correctness and efficiency of programs. A functional programming language will be used for practical work.


Course Learning Outcomes

At the end of this course, students will be able to:

  • Identify the types of computation and describe digital computation in detail.
  • Design simple combination circuits for simple computational problems.
  • Outline the concepts of the Von Neumann Architecture and the Turing Machine, and describe how a modern computer relates to them.
  • Understand and use how information is represented in a modern computer and how instructions are executed.
  • Describe the types of programming languages, and the paradigms.
  • Understand the concept of basic data types, such as int, float, bool as well as container data types, such as list, tuple, string.
  • Differentiate computational evaluation of expressions from mathematical evaluation due to concepts such as overflow, side-effect, and truncation.
  • Understand and apply structured programming concepts by elaborating on sequential, selective, repetitive structures, such as statements, if/switch/case statements, for/while statements and functions.
  • Interpret a computational problem specification and algorithmic solution and implement a solution in Python to solve that problem.

Program Outcomes Matrix

Contribution
#Program OutcomesNoYes
1An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2An 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
3An ability to communicate effectively with a range of audiences
4An 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
5An 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
6An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7An ability to acquire and apply new knowledge as needed, using appropriate learning strategies