Course Code:5710230
METU Credit (Theoretical-Laboratory hours/week):3 (2.00 - 2.00)
ECTS Credit:4.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Prof.Dr. GÖKTÜRK ÜÇOLUK
Offered Semester:Fall and Spring Semesters.

Course Objectives

This course gives a brief introduction to programming language constructs, solving algorithmic problems, and basic data structures in C. It is designed as a first course of programming and supported by laboratory sessions for students outside of the Computer Engineering major.

Course Content

Introduction. Constants, variables, expressions, statements. Selective structures. Repetitive structures and arrays. Functions. Pointers. Multi-dimensional arrays. (Offerd to non-5710 students only.)

Course Learning Outcomes

  • Understanding of the "algorithm" concept.
  • A fair understanding of the basic imperative programming constructs.
  • A very introductory grasp of the C programming language elements.

Program Outcomes Matrix

#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