Our department’s goal is to nurture talented software engineers who can play pivotal roles in the era of knowledge industry by providing training on software design/development and technology management. To nurture software experts who are needed in the field of software, our curriculum consists of the following elements: core theories in different fields of software, essential technologies related to software development, key practical and technology management knowledge.
Core theories, principles and concepts by field : Students systematically learn the concepts, principles, theories and techniques necessary for understanding, developing and applying computer software. Almost all major courses use original textbooks written in English. We nurture talented software engineers who are capable of solving problems actively and creatively via thorough theoretical education on a par with that of top-five universities.
Key software development technologies : Emphasis on essential knowledge for every software-related field, problem solving and practical training.
Key technology management knowledge : Students learn essential knowledge to become software development leaders, technology officers or entrepreneurs based on their software skills and expertise. Courses include basic business administration and other general education electives such as history.
Practical knowledge : Students enhance their understanding of the industry and acquire practical skills through visits to companies, special lectures by experts in relevant fields and internship opportunities. These provide the wealth of knowledge industries are looking for in new hires. Many major courses are in English and the department offers many English courses and programs.
Curriculum Diagram
Major courses offered in English
C How to Program (8th edition, Perarson) by Paul Deitel
A First Book of ANSI C (4th edition, Thomson), by G. J. Bronson
The C++ Programming Language (4th edition, Addison Wesley) by B. Stroustrup
Java in a Nutshell (6th edition, O’Reilly) by B. J. Evans
Java: A Beginner’s Guide (6th edition, Mcgraw-Hill) by H. Schildt
Fundamentals of Data Structures in C (2nd edition, Silicon Press), by E. Horowitz, S. Sahni and S. Anderson-Freed
Introduction to Algorithms (3rd edition, MIT Press), by T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein
Programming Challenges (1st Ed., Springer), by S. S. Skiena, and M. A. Revilla
Database System Concepts (6th edition, McGraw Hill), by A. Silberschatz, H. F. Korth and S. Sudarshan
Distributed Systems: Principles and Design (2nd edition, Prentice Hall) by A. Tanenbaum and M. Steen
Operating System Concepts (9th edition, John Wiley and Sons), by A. Silberschatz, P. B. Galvin, and G. Gagn
Computer Networking: A Top-Down Approach (6th Ed., Pearson), by J. F. Kurose and K. W. Ross
Computer Organization and Design: the Hardware/Software -interface (5th edition, Morgan Kaufmann) by D. A. Patterson and J. L. Hennessy
Data mining Concepts and Techniques (3rd edition, Morgan Kaufmann), by J. Han, M. Kamber and J. Pei
Digital Multimedia (3rd edition, John Wiley & Sons) by N. Chapman and J. Chapman
Fundamentals of Multimedia (2nd edition, Prentice Hall) by Z. N. Li, M. S. Drew, and J. Liu
Interactive Computer Graphics (5th edition, Pearson) by E. Angel
Software (9th edition, Pearson), by Ian Sommerville
Software - A practitioner’s Approach (7th edition, McGraw-Hill), by Roger S. Pressman
Head First HTML with CSS & XHTML (1st edition,O’Reilly) by E. T. Freeman, E. Freeman and E. Robson
Head First Javascript (1st edition, O’Reilly) by M. Morrison
PHP: The Good Parts (1st Ed., O’Reilly), by P. B. MacIntyre
Programming the World Wide Web (8th Ed., Pearson), by Robert W. Sebesta
Discrete Mathematics and its Applications (7th Ed., McGraw-Hill) by K. H. Rosen.
Discrete Mathematics with Applications (4th edition, Cengage Learning) by Susanna S. Epp
Introduction to Probability and Statistics for Engineers and Scientists (4th edition, Elsevier), by S. M. Ross
Marketing (2nd Edition, McGraw Hill/Irwin), by D. Grewal and M.l Levy
Prestigious Class Series
Prestigious Class
Our department has five “prestigious” classes, which are rarely offered to undergraduate students. (These have been selected through a survey of students who finished the third year of studies.)
Software Industry Seminar
In this course, students learn about the market, representative companies, technology trends and issues of ten industries where software plays a significant role. The course offers various programs, including lectures by executives of some of the largest companies in Korea, visits to representative companies and industry research conducted by students themselves.
Distributed and Parallel Systems
Distributed and parallel systems are fundamental elements of modern computing. For example, cloud computing is supported by a data center, and communication between a Web browser and the data center. A data center consists of a distributed system of a large number of computers working together. Our distributed and parallel systems course helps students to gain a sound perspective on how large systems in the real world work, besides helping them Faculty tie together what they have learned in earlier courses, such as operating system, networking and database.
Software Engineering
Generally, an undergraduate software engineering course focuses on theories and concepts, which is not enough to help students when they start working after graduation. Our software engineering course requires students to fully follow the development processes that professional software engineers use, and trains them on the use of over ten of the development tools that professional software engineers use.
Software Implementation Pattern, Data Structure and Algorithm
In Software Implementation Pattern, Data Structure and Algorithm, students who have completed training on basic programming learn advanced programming skills and gain comprehensive knowledge of data structures and algorithms that are necessary in software development. Through this course, students learn how each area is connected and the materials become more advanced as the course progresses.
Graduation Project
Generally, students start working on their graduation projects during the first semester of their fourth year. However, our department requires students to start their projects in the first semester of their third year and finish them by the second semester of their fourth year. Students work on graduation projects in groups of three. Since students have three semesters to complete their projects, they are able to work on bigger projects and experience teamwork. Thanks to this experience and the curricula offered by our department, students are capable of working immediately after graduation, without having to receive separate training by their companies.