Course Detail
Course Description
Course | Code | Semester | T+P (Hour) | Credit | ECTS |
---|---|---|---|---|---|
CODING I | MGS4114975 | Fall Semester | 2+1 | 2,5 | 5 |
Course Program | Pazartesi 09:00-09:45 Pazartesi 10:00-10:45 Pazartesi 11:00-11:45 Cumartesi 09:00-09:45 Cumartesi 10:00-10:45 Cumartesi 11:00-11:45 |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | Turkish |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Required |
Course Coordinator | Assist.Prof. Doğa ÇÖL |
Name of Lecturer(s) | Assist.Prof. Doğa ÇÖL |
Assistant(s) | |
Aim | This course aims to enable students to learn algorithmic thinking and solve problems efficiently. It is an introduction to the art of programming and covers topics such as abstraction, algorithms, data structures, memory management, security and software engineering. This course is the first part of a complete two-semester course. In the first part, Fall semester, the **C** programming language is taught. At the end of the course, students will design a piece of software in C using all the skills they have learned. |
Course Content | This course contains; Introduction to Algorithmic Thinking,Scratch. Computer Science. Computational Thinking. Problem Solving: Inputs, Outputs. Representation: Unary, Binary, Decimal, ASCII, Unicode, RGB. Abstraction. Algorithms. Running Times. Pseudocode. Scratch: Functions, Arguments, Return Values; Variables; Boolean Expressions, Conditionals; Loops; Events; Threads.,C. Source Code. Machine Code. Compiler. Correctness, Design, Style. Visual Studio Code. Syntax Highlighting. Escape Sequences. Header Files. Libraries. Manual Pages. Types. Conditionals. Variables. Loops. Linux. Graphical User Interface (GUI). Command-Line Interface (CLI). Constants. Comments. Pseudocode. Operators. Integer Overflow. Floating-Point Imprecision.,Arrays. Preprocessing. Compiling. Assembling. Linking. Debugging. Arrays. Strings. Command-Line Arguments. Cryptography.,Algorithms. Searching: Linear Search, Binary Search. Sorting: Bubble Sort, Selection Sort, Merge Sort. Asymptotic Notation. Recursion.,Memory. Pointers. Segmentation Faults. Dynamic Memory Allocation. Stack. Heap. Buffer Overflow. File I/O. Images.,Data Structures. Abstract Data Types. Queues, Stacks. Linked Lists. Trees, Binary Search Trees. Hash Tables. Tries.,Mid-term,Python. Functions, Arguments, Return Values; Variables; Boolean Expressions, Conditionals; Loops. Modules, Packages.,Artificial Intelligence. Prompt Engineering. System Prompt. User Prompt. Generative Artificial Intelligence. Artificial Intelligence. Decision Trees. Minimax. Machine Learning. Reinforcement Learning. Explore vs. Exploit. Deep Learning. Neural Networks. Large Language Models. Transformer Architecture. Hallucinations.,SQL: Tables; Types; Statements; Constraints; Indexes; Keywords, Functions; Transactions. Race Conditionals. SQL Injection Attacks.,HTML, CSS, JavaScript. Internet: Routers; TCP/IP; DNS. HTTP: URLs, GET, POST. HTML: Tags; Attributes. Servers. CSS: Properties; Selectors. Frameworks. JavaScript: Variables; Conditionals; Loops. Events.,Flask. Route. Decorators. Requests, Responses. Sessions. Cookies.,Final. |
Dersin Öğrenme Kazanımları | Teaching Methods | Assessment Methods |
Students acquire and apply basic coding skills in programming languages such as Scratch and C. | 10, 16, 6, 9 | E, F |
Utilizes programming from the perspective of Media and Visual Arts. | 10, 16, 6, 9 | E, F |
Develop algorithmic thinking skills in problem solving processes. | 10, 16, 6, 9 | E, F |
Understand basic data structures (e.g. arrays) and use them in simple projects. | 10, 12, 13, 14, 9 | C, E |
Design and implement small-scale programming projects independently. | 10, 12, 14, 9 | C, E, G |
Teaching Methods: | 10: Discussion Method, 12: Problem Solving Method, 13: Case Study Method, 14: Self Study Method, 16: Question - Answer Technique, 6: Experiential Learning, 9: Lecture Method |
Assessment Methods: | C: Multiple-Choice Exam, E: Homework, F: Project Task, G: Quiz |
Course Outline
Order | Subjects | Preliminary Work |
---|---|---|
1 | Introduction to Algorithmic Thinking | Video |
2 | Scratch. Computer Science. Computational Thinking. Problem Solving: Inputs, Outputs. Representation: Unary, Binary, Decimal, ASCII, Unicode, RGB. Abstraction. Algorithms. Running Times. Pseudocode. Scratch: Functions, Arguments, Return Values; Variables; Boolean Expressions, Conditionals; Loops; Events; Threads. | Video: Video: CS50x Week 0. C Reading: King pp. 9-37. All page numbers are from C Programming: A Modern Approach unless otherwise noted. |
3 | C. Source Code. Machine Code. Compiler. Correctness, Design, Style. Visual Studio Code. Syntax Highlighting. Escape Sequences. Header Files. Libraries. Manual Pages. Types. Conditionals. Variables. Loops. Linux. Graphical User Interface (GUI). Command-Line Interface (CLI). Constants. Comments. Pseudocode. Operators. Integer Overflow. Floating-Point Imprecision. | Video: CS50x Week 1 C. Okuma: King pp. 37-241. |
4 | Arrays. Preprocessing. Compiling. Assembling. Linking. Debugging. Arrays. Strings. Command-Line Arguments. Cryptography. | Video: CS50x Week 2. King pp. 257-377. |
5 | Algorithms. Searching: Linear Search, Binary Search. Sorting: Bubble Sort, Selection Sort, Merge Sort. Asymptotic Notation. Recursion. | Video: CS50x Week 3. Reading: King pp. 413-627. |
6 | Memory. Pointers. Segmentation Faults. Dynamic Memory Allocation. Stack. Heap. Buffer Overflow. File I/O. Images. | Video: CS50x Week 4 |
7 | Data Structures. Abstract Data Types. Queues, Stacks. Linked Lists. Trees, Binary Search Trees. Hash Tables. Tries. | Video: CS50x Week 5. |
8 | Mid-term | To be submitted on GitHub. |
9 | Python. Functions, Arguments, Return Values; Variables; Boolean Expressions, Conditionals; Loops. Modules, Packages. | Video: CS50x Week 6. |
10 | Artificial Intelligence. Prompt Engineering. System Prompt. User Prompt. Generative Artificial Intelligence. Artificial Intelligence. Decision Trees. Minimax. Machine Learning. Reinforcement Learning. Explore vs. Exploit. Deep Learning. Neural Networks. Large Language Models. Transformer Architecture. Hallucinations. | Video: CS50x 6.5. |
11 | SQL: Tables; Types; Statements; Constraints; Indexes; Keywords, Functions; Transactions. Race Conditionals. SQL Injection Attacks. | Video: CS50x Week 7. |
12 | HTML, CSS, JavaScript. Internet: Routers; TCP/IP; DNS. HTTP: URLs, GET, POST. HTML: Tags; Attributes. Servers. CSS: Properties; Selectors. Frameworks. JavaScript: Variables; Conditionals; Loops. Events. | Video: CS50x Week 8. |
13 | Flask. Route. Decorators. Requests, Responses. Sessions. Cookies. | Video: CS50x Week 9. |
14 | Final | Video: CS50x Week 10. |
Resources |
https://cs50.harvard.edu/x/2024/ https://manual.cs50.io, Programming in C, Fourth Edition Stephen G. Kochan Pearson Education, 2015 ISBN 0-321-77641-0 |
King, K. N. C Programming_ A Modern Approach, 2nd Edition. 2009. W. W. Norton & Company. |
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications | |||||||
No | Program Qualification | Contribution Level | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Knows the basic concepts of Media and Visual Arts disciplines. | ||||||
2 | Knows the basic theories of media and visual arts disciplines. | X | |||||
3 | Knows the necessary computer programs and multi-media techniques in Media and Visual Arts. | ||||||
4 | Knows the aesthetic rules necessary in Media and Visual Arts. | ||||||
5 | Acts in a way that adheres to national and international ethical codes in professional and scientific studies. | ||||||
6 | Understands the symbol systems of cultures. | ||||||
7 | Analyzes the facts related to Media and Visual Arts in their dimensions. | ||||||
8 | Plans the visual design process in line with the needs of institutions/individuals. | X | |||||
9 | Carries out the visual communication process in line with the needs of institutions/individuals. | X | |||||
10 | Uses the tools, methods and techniques required for Media and Visual Arts practices. | X | |||||
11 | Has the ability to produce, process and evaluate real, 2D and 3D images. | X | |||||
12 | Applies visual design techniques in new media environments. | X | |||||
13 | Has aesthetic awareness and understanding of design. | ||||||
14 | Performs their profession by taking into consideration the "Occupational Health and Safety" rules. | ||||||
15 | Solve problems that arise by taking responsibility in projects related to Media and Visual Arts. | X | |||||
16 | Can transform theoretical and factual problems of Media and Visual Arts disciplines and sub-disciplines into publications using scientific methods. | X | |||||
17 | Regularly follows the developments in the field of Media and Visual Arts and uses them effectively in her work. | ||||||
18 | Uses Turkish fluently and accurately in scientific and professional studies. | ||||||
19 | Can read and understand at least one foreign language at B1 level. | X | |||||
20 | Plans and takes part in social responsibility projects. | ||||||
21 | Incorporates artificial intelligence (artificial learning/machine learning) into the creation process. | X |
Assessment Methods
Contribution Level | Absolute Evaluation | |
Rate of Midterm Exam to Success | 40 | |
Rate of Final Exam to Success | 60 | |
Total | 100 |
ECTS / Workload Table | ||||||
Activities | Number of | Duration(Hour) | Total Workload(Hour) | |||
Course Hours | 14 | 3 | 42 | |||
Guided Problem Solving | 14 | 1 | 14 | |||
Resolution of Homework Problems and Submission as a Report | 14 | 2 | 28 | |||
Term Project | 0 | 0 | 0 | |||
Presentation of Project / Seminar | 0 | 0 | 0 | |||
Quiz | 0 | 0 | 0 | |||
Midterm Exam | 20 | 1 | 20 | |||
General Exam | 20 | 1 | 20 | |||
Performance Task, Maintenance Plan | 14 | 1 | 14 | |||
Total Workload(Hour) | 138 | |||||
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(138/30) | 5 | |||||
ECTS of the course: 30 hours of work is counted as 1 ECTS credit. |
Detail Informations of the Course
Course Description
Course | Code | Semester | T+P (Hour) | Credit | ECTS |
---|---|---|---|---|---|
CODING I | MGS4114975 | Fall Semester | 2+1 | 2,5 | 5 |
Course Program | Pazartesi 09:00-09:45 Pazartesi 10:00-10:45 Pazartesi 11:00-11:45 Cumartesi 09:00-09:45 Cumartesi 10:00-10:45 Cumartesi 11:00-11:45 |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | Turkish |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Required |
Course Coordinator | Assist.Prof. Doğa ÇÖL |
Name of Lecturer(s) | Assist.Prof. Doğa ÇÖL |
Assistant(s) | |
Aim | This course aims to enable students to learn algorithmic thinking and solve problems efficiently. It is an introduction to the art of programming and covers topics such as abstraction, algorithms, data structures, memory management, security and software engineering. This course is the first part of a complete two-semester course. In the first part, Fall semester, the **C** programming language is taught. At the end of the course, students will design a piece of software in C using all the skills they have learned. |
Course Content | This course contains; Introduction to Algorithmic Thinking,Scratch. Computer Science. Computational Thinking. Problem Solving: Inputs, Outputs. Representation: Unary, Binary, Decimal, ASCII, Unicode, RGB. Abstraction. Algorithms. Running Times. Pseudocode. Scratch: Functions, Arguments, Return Values; Variables; Boolean Expressions, Conditionals; Loops; Events; Threads.,C. Source Code. Machine Code. Compiler. Correctness, Design, Style. Visual Studio Code. Syntax Highlighting. Escape Sequences. Header Files. Libraries. Manual Pages. Types. Conditionals. Variables. Loops. Linux. Graphical User Interface (GUI). Command-Line Interface (CLI). Constants. Comments. Pseudocode. Operators. Integer Overflow. Floating-Point Imprecision.,Arrays. Preprocessing. Compiling. Assembling. Linking. Debugging. Arrays. Strings. Command-Line Arguments. Cryptography.,Algorithms. Searching: Linear Search, Binary Search. Sorting: Bubble Sort, Selection Sort, Merge Sort. Asymptotic Notation. Recursion.,Memory. Pointers. Segmentation Faults. Dynamic Memory Allocation. Stack. Heap. Buffer Overflow. File I/O. Images.,Data Structures. Abstract Data Types. Queues, Stacks. Linked Lists. Trees, Binary Search Trees. Hash Tables. Tries.,Mid-term,Python. Functions, Arguments, Return Values; Variables; Boolean Expressions, Conditionals; Loops. Modules, Packages.,Artificial Intelligence. Prompt Engineering. System Prompt. User Prompt. Generative Artificial Intelligence. Artificial Intelligence. Decision Trees. Minimax. Machine Learning. Reinforcement Learning. Explore vs. Exploit. Deep Learning. Neural Networks. Large Language Models. Transformer Architecture. Hallucinations.,SQL: Tables; Types; Statements; Constraints; Indexes; Keywords, Functions; Transactions. Race Conditionals. SQL Injection Attacks.,HTML, CSS, JavaScript. Internet: Routers; TCP/IP; DNS. HTTP: URLs, GET, POST. HTML: Tags; Attributes. Servers. CSS: Properties; Selectors. Frameworks. JavaScript: Variables; Conditionals; Loops. Events.,Flask. Route. Decorators. Requests, Responses. Sessions. Cookies.,Final. |
Dersin Öğrenme Kazanımları | Teaching Methods | Assessment Methods |
Students acquire and apply basic coding skills in programming languages such as Scratch and C. | 10, 16, 6, 9 | E, F |
Utilizes programming from the perspective of Media and Visual Arts. | 10, 16, 6, 9 | E, F |
Develop algorithmic thinking skills in problem solving processes. | 10, 16, 6, 9 | E, F |
Understand basic data structures (e.g. arrays) and use them in simple projects. | 10, 12, 13, 14, 9 | C, E |
Design and implement small-scale programming projects independently. | 10, 12, 14, 9 | C, E, G |
Teaching Methods: | 10: Discussion Method, 12: Problem Solving Method, 13: Case Study Method, 14: Self Study Method, 16: Question - Answer Technique, 6: Experiential Learning, 9: Lecture Method |
Assessment Methods: | C: Multiple-Choice Exam, E: Homework, F: Project Task, G: Quiz |
Course Outline
Order | Subjects | Preliminary Work |
---|---|---|
1 | Introduction to Algorithmic Thinking | Video |
2 | Scratch. Computer Science. Computational Thinking. Problem Solving: Inputs, Outputs. Representation: Unary, Binary, Decimal, ASCII, Unicode, RGB. Abstraction. Algorithms. Running Times. Pseudocode. Scratch: Functions, Arguments, Return Values; Variables; Boolean Expressions, Conditionals; Loops; Events; Threads. | Video: Video: CS50x Week 0. C Reading: King pp. 9-37. All page numbers are from C Programming: A Modern Approach unless otherwise noted. |
3 | C. Source Code. Machine Code. Compiler. Correctness, Design, Style. Visual Studio Code. Syntax Highlighting. Escape Sequences. Header Files. Libraries. Manual Pages. Types. Conditionals. Variables. Loops. Linux. Graphical User Interface (GUI). Command-Line Interface (CLI). Constants. Comments. Pseudocode. Operators. Integer Overflow. Floating-Point Imprecision. | Video: CS50x Week 1 C. Okuma: King pp. 37-241. |
4 | Arrays. Preprocessing. Compiling. Assembling. Linking. Debugging. Arrays. Strings. Command-Line Arguments. Cryptography. | Video: CS50x Week 2. King pp. 257-377. |
5 | Algorithms. Searching: Linear Search, Binary Search. Sorting: Bubble Sort, Selection Sort, Merge Sort. Asymptotic Notation. Recursion. | Video: CS50x Week 3. Reading: King pp. 413-627. |
6 | Memory. Pointers. Segmentation Faults. Dynamic Memory Allocation. Stack. Heap. Buffer Overflow. File I/O. Images. | Video: CS50x Week 4 |
7 | Data Structures. Abstract Data Types. Queues, Stacks. Linked Lists. Trees, Binary Search Trees. Hash Tables. Tries. | Video: CS50x Week 5. |
8 | Mid-term | To be submitted on GitHub. |
9 | Python. Functions, Arguments, Return Values; Variables; Boolean Expressions, Conditionals; Loops. Modules, Packages. | Video: CS50x Week 6. |
10 | Artificial Intelligence. Prompt Engineering. System Prompt. User Prompt. Generative Artificial Intelligence. Artificial Intelligence. Decision Trees. Minimax. Machine Learning. Reinforcement Learning. Explore vs. Exploit. Deep Learning. Neural Networks. Large Language Models. Transformer Architecture. Hallucinations. | Video: CS50x 6.5. |
11 | SQL: Tables; Types; Statements; Constraints; Indexes; Keywords, Functions; Transactions. Race Conditionals. SQL Injection Attacks. | Video: CS50x Week 7. |
12 | HTML, CSS, JavaScript. Internet: Routers; TCP/IP; DNS. HTTP: URLs, GET, POST. HTML: Tags; Attributes. Servers. CSS: Properties; Selectors. Frameworks. JavaScript: Variables; Conditionals; Loops. Events. | Video: CS50x Week 8. |
13 | Flask. Route. Decorators. Requests, Responses. Sessions. Cookies. | Video: CS50x Week 9. |
14 | Final | Video: CS50x Week 10. |
Resources |
https://cs50.harvard.edu/x/2024/ https://manual.cs50.io, Programming in C, Fourth Edition Stephen G. Kochan Pearson Education, 2015 ISBN 0-321-77641-0 |
King, K. N. C Programming_ A Modern Approach, 2nd Edition. 2009. W. W. Norton & Company. |
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications | |||||||
No | Program Qualification | Contribution Level | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Knows the basic concepts of Media and Visual Arts disciplines. | ||||||
2 | Knows the basic theories of media and visual arts disciplines. | X | |||||
3 | Knows the necessary computer programs and multi-media techniques in Media and Visual Arts. | ||||||
4 | Knows the aesthetic rules necessary in Media and Visual Arts. | ||||||
5 | Acts in a way that adheres to national and international ethical codes in professional and scientific studies. | ||||||
6 | Understands the symbol systems of cultures. | ||||||
7 | Analyzes the facts related to Media and Visual Arts in their dimensions. | ||||||
8 | Plans the visual design process in line with the needs of institutions/individuals. | X | |||||
9 | Carries out the visual communication process in line with the needs of institutions/individuals. | X | |||||
10 | Uses the tools, methods and techniques required for Media and Visual Arts practices. | X | |||||
11 | Has the ability to produce, process and evaluate real, 2D and 3D images. | X | |||||
12 | Applies visual design techniques in new media environments. | X | |||||
13 | Has aesthetic awareness and understanding of design. | ||||||
14 | Performs their profession by taking into consideration the "Occupational Health and Safety" rules. | ||||||
15 | Solve problems that arise by taking responsibility in projects related to Media and Visual Arts. | X | |||||
16 | Can transform theoretical and factual problems of Media and Visual Arts disciplines and sub-disciplines into publications using scientific methods. | X | |||||
17 | Regularly follows the developments in the field of Media and Visual Arts and uses them effectively in her work. | ||||||
18 | Uses Turkish fluently and accurately in scientific and professional studies. | ||||||
19 | Can read and understand at least one foreign language at B1 level. | X | |||||
20 | Plans and takes part in social responsibility projects. | ||||||
21 | Incorporates artificial intelligence (artificial learning/machine learning) into the creation process. | X |
Assessment Methods
Contribution Level | Absolute Evaluation | |
Rate of Midterm Exam to Success | 40 | |
Rate of Final Exam to Success | 60 | |
Total | 100 |