DIGITAL GAME DESIGN | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code | Course Name | Semester | Theoretical | Practical | Credit | ECTS |
CMP1401 | Introduction to Programming (C) | Spring | 2 | 2 | 3 | 6 |
This catalog is for information purposes. Course status is determined by the relevant department at the beginning of semester. |
Language of instruction: | English |
Type of course: | Non-Departmental Elective |
Course Level: | Bachelor’s Degree (First Cycle) |
Mode of Delivery: | Face to face |
Course Coordinator : | HASSAN IMANI |
Course Lecturer(s): |
RA ÇİĞDEM ERİŞ Assist. Prof. TARKAN AYDIN Assist. Prof. ERKUT ARICAN Assist. Prof. CEMAL OKAN ŞAKAR Dr. UTKU GÜLEN Assist. Prof. ÖVGÜ ÖZTÜRK ERGÜN Prof. Dr. NAFİZ ARICA |
Recommended Optional Program Components: | None |
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. |
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 |
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. |
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) | Functions (cont’d) | |
8) | Arrays, passing arrays to functions | |
9) | Multidimensional arrays | |
10) | File I/O | |
11) | Pointers and Passing pointers to a function | |
12) | Searching in arrays | |
13) | Strings, string operations | |
14) | Review |
Course Notes / Textbooks: | 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 |
Semester Requirements | Number of Activities | Level of Contribution |
Laboratory | 3 | % 25 |
Midterms | 1 | % 35 |
Final | 1 | % 40 |
Total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 60 | |
PERCENTAGE OF FINAL WORK | % 40 | |
Total | % 100 |
Activities | Number of Activities | Workload |
Course Hours | 14 | 28 |
Laboratory | 14 | 28 |
Study Hours Out of Class | 15 | 79 |
Midterms | 1 | 2 |
Final | 1 | 2 |
Total Workload | 139 |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | Comprehend the conceptual importance of the game in the field of communication, ability to implement the player centered application to provide design. | |
2) | Analyze, synthesize, and evaluate information and ideas from various perspectives. | |
3) | Analyze the key elements that make up specific game genres, forms of interactions, mode of narratives and understand how they are employed effectively to create a successful game. | |
4) | Understand game design theories and methods as well as implement them during game development; to make enjoyable, attractive, instructional and immersive according to the target audience. | |
5) | Understand the technology and computational principles involved in developing games and master the use of game engines. | |
6) | Understand the process of creation and use of 2D and 3D assets and animation for video games. | |
7) | Understand and master the theories and methodologies of understanding and measuring player experience and utilize them during game development process. | |
8) | Comprehend and master how ideas, concepts and topics are conveyed via games followed by the utilization of these aspects during the development process. | |
9) | Manage the game design and development process employing complete documentation; following the full game production pipeline via documentation. | |
10) | Understand and employ the structure and work modes of game development teams; comprehend the responsibilities of team members and collaborations between them while utilizing this knowledge in practice. | |
11) | Understand the process of game publishing within industry standards besides development and utilize this knowledge practice. | |
12) | Pitching a video game to developers, publishers, and players; mastering the art of effectively communicating and marketing the features and commercial potential of new ideas, concepts or games. |