About Game Software Major
Game Software major sets a goal to educate graduates in writing robust computer software programs in the areas of game client and game server. For this goal, the major provides students with basic computer science, mathematics, physics courses and many programming courses. Based on the knowledge acquired from the courses offered, the students are induced to foster their ability to make games by experiencing practical game making team projects.
Dr. Jin-won Park, Dr. Sung-hyun Cho, Dr. Hye-young Kim, Dr. Sin-jin Kang, Dr. Beomjoo Seo
- An Introduction to Game Studies: This is an introductory course in game development. It offers the history, the features and the newest trend in the game industry. The students will learn about game production, game QA, game design process, programming, and art design.
- C Programming and Practice: This course deals with the basics of C programming language. Classes will require lots of practice writing C programs.
- C++ Programming and Practice: This course is designed to teach the basics of C++ programming language. The course expects the students to learn object-oriented programming concepts.
- Object-Oriented Programming and Practice: The purpose of this course is for students to understand the features of object-oriented programming and learn object-oriented ability to design by UML.
- Game Design: This course introduces the basic concepts of game development and its related processes. The students will learn detailed features in game design and contents design. The course also provides several practices in state of the art game design patterns.
- Seminar in School of Games: The professors at school of games consist of computer software major scholars and graphic design major scholars. This course is intended to explain how the individual professor’s expertises are related to making computer games, and to introduce the professors to the other majoring students in the school of games.
- Introduction to Multimedia: The course will presents an introduction to multimedia, authoring process and authoring tool. In addition, classes will cover general principle for multimedia contents making of CD-ROM title and web etc.
- Mobile Operating Systems (1): This course introduces the history of various mobile operating systems, their ups and downs, and their technological advances. It covers the architectural differences of existing dominant mobile operating systems and their ecosystems. It also discusses their future directions.
- Sound Design and Editing: The course is for students to learn basic sounds, one of the essential factors in game and video, and to understand the connection between Adobe Audition visual factors and acoustic factors. This class is to practice recording, mixing, dubbing, editing techniques by Adobe Audition.
- System Programming Practice: In this course, students can practice multi-threaded programming, memory management, and process management based on Windows operating system and can understand various unix commands.
- Operating System: The course introduces the history, the components and the roles of the computer operating system. The course also includes how to efficiently use the resources of a computer system. The topics consist of process management, memory management, virtual memory system, interrupt control, scheduling of resources, process communication and input/output management. Some additional topics for handling multimedia contents are studied.
- Windows Programming Practice: This course covers the fundamentals of programming on the Microsoft Windows platform. It especially focuses on the use of legacy Windows APIs. It requires significant amounts of programming practice.
- Data Structure and Programming Practice: The purpose of this course is for students to understand the structure of programming about various data of real-world and to learn a variety of technique for various data handling.
- Computer Architecture: In this course, the students are to learn the interlock movement between hardware and software via basic computer architectures.
- Computer Graphics: Main topics are the theoretical basis for 2 dimensional graphic and 3 dimensional graphic contents generation, rendering, projection shadowing processes. Also, the theoretical backgrounds for transforming computerized 3 dimensional objects to 2 dimensional graphics are studied. The course will cover multimedia hardware and software in general.
- Game Server Practice (1): In this course, students will exercise socket programming on Windows platform, utilizing synchronous and asynchronous models and will implement a chatting server, a file server and a game server.
- Database: The purpose of this course is for students to learn database application, database design and relation model, transaction, security that used by database system, data model and SQL.
- Database Practice: This class teaches students how to use standardized SQL queries in a practical setting. It provides various case studies that illustrate how badly-designed data models impact the performance of database systems and covers various tuning techniques. It also introduces recent trends in the area of NoSQL-based clustering solutions. Using one of the popular NoSQL systems, the students will learn how to build a small-scale database clustering system.
- Mobile Operating Systems (2): Students will learn distinct features between conventional desktop operating systems and mobile operating systems at their respective sub-system level. The class also covers how to effectively use the sub-systems via provided mobile APIs.
- Mobile Programming Practice (1): This class covers various mobile development platforms and their provided APIs. It also teaches media processing, sensor programming, and wireless communication with other smart devices. Using the Android platform, students will design and implement a native Android game application, which will help to understand its development process. The students will also learn how to manage resource-hungry applications within their limited budget.
- Software Engineering: The purpose of this class is for students to learn methods how to develop software systematically. Students will do analysis, design, realization and testing of requirements of software development process.
- Computer Graphics Practice (1): This course introduces various practical techniques when using DirectX APIs. The course is intended to explain how 3D games are developed, employing computer graphics algorithms. It includes the fundamentals of DirectX, 2D Sprite, Collision, 3D Terrain, and 3D Character Animation. With this process, students will understand the DirectX based game framework.
- Computer Graphics Practice (2): This course introduces the understanding of commercial game engine which is widely used in game development processes. With the course, students will understand the concept, the architecture and the features of a game engine, and will analyze basic code samples. The course also covers programming design patterns for student to make their own game engines.
- Computer Network: The course is for students to understand web, FTP, P2P, TCP/IP network and trustful data transmission principle in TCP/IP and to improve design ability through network design for online game.
- Team Project: This course provides team development experiences to students majoring in game software and game graphics. The students from the two majors of game software and game graphic design form one development unit and then follow common game design processes. After that, every student will accomplish its own development rules in programming and art design. Especially, the game software major students learn the latest game engine techniques for rapid game development.
- 3D Modeling and Practice: Goal of this course gives understanding for 3D design and ability of using 3D design tools. Student can learn basic instructions of 3D design tool and increase way of using with various practices.
- Game Design Portfolio: This course is intended to help a student preparing portpolio to become a game designer. The course introduces state-of-the-art game design techniques and gives various case study experiences.
- Game Server Practice (2): In this course, students can implement the IOCP(Input Output Completion Port) server model for various networked environments. They will understand the packet protocol when internetworking a game server with a client game. Also, the students will study the method of internetworking the game server with database management systems.
- Game Artificial Intelligence: The purpose of this class is for students to learn about game A.I, such as FSM, steering behavior, path finding. This class will require students to do A.I programming through projects.
- Game Production Project (1): This course is for graduating students to do a game project for graduation and to learn how to prepare for employment.
- Game Production Project (2): This course is the continuation of Game Production Project(1). The students will proceed their individual graduation project with the professor assigned.
- Mobile Programming Project (2): This class introduces the fundamentals of a scripting language running on a web browser. Students will learn the architectural design choices of HTML5-based web game engines, their implementation details, and build a web-based game application, using one of the game engines. The class also teaches various web development toolkits, server-side scripting languages and their frameworks, and database access methodologies. The students will also build a web-based client-server game application service.
- Industry Practice: The purpose of this class is for students who already got a job before the last semester to improve their capability while working in a company.
- Software Industry Administration: The students are to learn overall economy/administration subjects that will be encountered when they are employed later. Topics will be the current software/game industry status and the prospect of international/domestic software/game industry.
- Special topics in Software: This course deals with program writing ability through studying the theory and doing practices on object oriented programming, web programming and shopping mall application programming.
- Computer Security: The students are to learn the definition of hacking to network basic theory, information acquisition technique during hacking war and practical network hacking method and how to prevent from hacking.
- HCI (Human-Computer Interface): This course is for the students to study the major factors for properly using the human computer interaction system. It will also cover the process of design, evaluation and implementation for the human computer interaction system.