ELECTRICAL AND ELECTRONICS ENGINEERING
Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Course Introduction and Application Information

Course Code Course Name Semester Theoretical Practical Credit ECTS
CMP1401 Introduction to Programming (C) Fall 2 2 3 6
The course opens with the approval of the Department at the beginning of each semester

Basic information

Language of instruction: En
Type of course: Must Course
Course Level: Bachelor
Mode of Delivery: Face to face
Course Coordinator : Dr. Öğr. Üyesi GÖRKEM KAR
Course Lecturer(s): Dr. Öğr. Üyesi CEMAL OKAN ŞAKAR
RA ÇİĞDEM ERİŞ
Dr. Öğr. Üyesi TARKAN AYDIN
Dr. Öğr. Üyesi ERKUT ARICAN
Dr. UTKU GÜLEN
Dr. Öğr. Üyesi ÖVGÜ ÖZTÜRK ERGÜN
Prof. Dr. NAFİZ ARICA
Course Objectives: The course aims to teach the syntax and use of major constructs of the C language. Fundamental programming concepts will be discussed and students will gain hands-on experience to develop their programming and algorithmic thinking skills.

Learning Outputs

The students who have succeeded in this course;
I. An ability to design elementary computer algorithms.
II. An ability to develop code following the principles of C programming language.
III. An ability to use various types of selection contructs in a C program
IV. An ability to use repetition constructs in a C program.
V. An ability to use simple data structures like arrays in a C program.
VI. An ability to define and correctly call functions in a C program

Course Content

Introduction, printf, scanf, variables, operators, constants, data types, assignment, type conversions, type casting, post/pre-increment/decrement, if, nested if, logical operators, switch, while, for, do-while loops, nested loops, break, continue, functions, scope, macro-substitution, pointers, variable parameters, arrays, passing arrays to functions, sorting and binary search, File I/O, strings, multi-dimensional arrays, structures.

Weekly Detailed Course Contents

Week Subject Related Preparation
1) Introduction, printf, scanf, variables, operators, constants
2) Data types, assignment, type conversions, type casting, post/pre-increment/decrement
3) If, nested if, logical operators, switch
4) While, for, do-while loops
5) Nested loops, break, continue
6) Functions, scope, macro-substitution
7) Pointers, variable parameters
8) Arrays, passing arrays to functions
9) Sorting and binary search
10) File I/O
11) Strings
12) Multi-dimensional arrays
13) Structures
14) Review
15) Final
16) Final

Sources

Course Notes: C How to Program, 6/E, Paul Deitel Harvey M. Deitel, Prentice Hall, 2009
References: The C Programming Language, Brian W. Kernighan, Dennis M. Ritchie, Prentice Hall

Evaluation System

Semester Requirements Number of Activities Level of Contribution
Attendance % 0
Laboratory 12 % 25
Application % 0
Field Work % 0
Special Course Internship (Work Placement) % 0
Quizzes % 0
Homework Assignments % 0
Presentation % 0
Project % 0
Seminar % 0
Midterms 1 % 35
Preliminary Jury % 0
Final 1 % 40
Paper Submission % 0
Jury % 0
Bütünleme % 0
Total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
Total % 100

ECTS / Workload Table

Activities Number of Activities Workload
Course Hours 14 28
Laboratory 14 28
Application
Special Course Internship (Work Placement)
Field Work
Study Hours Out of Class 15 79
Presentations / Seminar
Project
Homework Assignments
Quizzes
Preliminary Jury
Midterms 1 2
Paper Submission
Jury
Final 1 2
Total Workload 139

Contribution of Learning Outcomes to Programme Outcomes

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) Adequate knowledge in mathematics, science and electric-electronic engineering subjects; ability to use theoretical and applied information in these areas to model and solve engineering problems. 4
2) Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. 4
3) Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues, according to the nature of the design.) 4
4) Ability to devise, select, and use modern techniques and tools needed for electrical-electronic engineering practice; ability to employ information technologies effectively. 4
5) Ability to design and conduct experiments, gather data, analyze and interpret results for investigating engineering problems. 3
6) Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. 4
7) Ability to communicate effectively in English and Turkish (if he/she is a Turkish citizen), both orally and in writing. 2
8) Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. 2
9) Awareness of professional and ethical responsibility. 2
10) Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development. 2
11) Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions. 2