COMPUTER ENGINEERING
Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Ders Genel Tanıtım Bilgileri

Course Code: 1410111001
Ders İsmi: Programming I
Ders Yarıyılı: Fall
Ders Kredileri:
Theoretical Practical Credit ECTS
2 2 3 3
Language of instruction: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: No
Type of course: Necessary
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Dr.Öğr.Üyesi Adem ÖZYAVAŞ
Course Lecturer(s): Dr.Öğr.Üyesi Mehmet Serdar BİÇER
Dr.Öğr.Üyesi Adem ÖZYAVAŞ
Dr.Öğr.Üyesi Osman DURMAZ
Course Assistants:

Dersin Amaç ve İçeriği

Course Objectives: This course is designed for students with no programming experience. The course teaches the fundamental concepts of procedural programming. Topics include algorithms and problem solving, data types, control structures, functions, arrays, testing and finding errors.
Course Content: The course assumes no knowledge in computer programming. It introduces the students to the basic concepts and techniques of developing programs for problem solving. Imperative/procedural/structured programming methodology is used throughout the course to teach the fundamentals of programming. In this course, students learn how to design, implement, debug, and document programs. It establishes the foundation on which students are able to develop application programs using the C programming language.

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
2 - Skills
Cognitive - Practical
1) Implementing the developed algorithms with C / C ++ language
2) Student will be able to analyze codes in C programming language.
3 - Competences
Communication and Social Competence
Learning Competence
Field Specific Competence
1) Developing algorithms to solve simple problems
Competence to Work Independently and Take Responsibility
1) The student designs C programs that include decision structures, loops and functions.

Ders Akış Planı

Week Subject Related Preparation
1) Number systems, notions and representations, memory organization, algorithms, compilation (compiler) vs interpretation (interpreter). Instructor's Notes
2) Flow Charts diagrams, algorithms and algorithm design Instructor's Notes
3) data types, declarations, expressions, keywords, naming conventions, (destructive) assignment statement, sequential programming arrays and its properties and processing, arrays of different types including strings, arrays of different dimensions The C Programming Language
4) Conditional statements, logical/relational operators and Boolean expressions, while/for loops (iterations). The C Programming Language
5) Functions and functional decomposition, top-down programming, pass-by-value semantics, scope. The C Programming Language
6) recursion, recursive vs iterative solutions. The C Programming Language
7) pointer/pointer arithmetic and memory management, program debugging, syntax and logic errors, arrays as constant pointers, function pointers. The C Programming Language
8) MIDTERM
9) More on pointers (pointers to pointers, pointers to pointers to pointers). The C Programming Language
10) Writing your own string processing functions and using library functions The C Programming Language
11) Binary vs text-based file I/O The C Programming Language
12) Binary vs text-based file I/O. The C Programming Language
13) C structs and unions, typedef, macros The C Programming Language
14) Writing flexible (easy-to-maintain) code (modular design), header files and implementation files (.h and .c files). Data structures implementations such as Stack, Queue, Map in C. The C Programming Language
15) Review of the semester material. The C Programming Language
16) Final

Sources

Course Notes / Textbooks: The C Programming Language: Brian Kernighan and Dennis Ritchie
References: The C Programming Language: Brian Kernighan, Dennis Ritchie

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

4

3

Program Outcomes
1) PO 1.1) Sufficient knowledge in mathematics, science and computer engineering
2) PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems.
3) PO 2.1) Identifying complex engineering problems
4) PO 2.2) Defining complex engineering problems
5) PO 2.3) Formulating complex engineering problems
6) PO 2.4) Ability to solve complex engineering problems
7) PO 2.5) Ability to choose and apply appropriate analysis and modeling methods
8) PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions.
9) PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product
10) PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
11) PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
12) PO 4.3) Ability to use information technologies effectively.
13) PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments
14) PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation
15) PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection
16) PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics
17) PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics

Ders - Öğrenme Kazanımı İlişkisi

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) PO 1.1) Sufficient knowledge in mathematics, science and computer engineering
2) PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems.
3) PO 2.1) Identifying complex engineering problems
4) PO 2.2) Defining complex engineering problems
5) PO 2.3) Formulating complex engineering problems
6) PO 2.4) Ability to solve complex engineering problems
7) PO 2.5) Ability to choose and apply appropriate analysis and modeling methods
8) PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions.
9) PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product
10) PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
11) PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
12) PO 4.3) Ability to use information technologies effectively.
13) PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments
14) PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation 5
15) PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection
16) PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics
17) PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics

Öğrenme Etkinliği ve Öğretme Yöntemleri

Bireysel çalışma ve ödevi
Course
Grup çalışması ve ödevi
Labs
Homework
Web Tabanlı Öğrenme

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Homework
Uygulama

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Laboratory 10 % 5
Homework Assignments 3 % 15
Midterms 1 % 20
Semester Final Exam 1 % 60
total % 100
PERCENTAGE OF SEMESTER WORK % 40
PERCENTAGE OF FINAL WORK % 60
total % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 2 28
Laboratory 14 2 28
Study Hours Out of Class 14 4 56
Homework Assignments 14 2 28
Midterms 1 2 2
Final 1 3 3
Total Workload 145