Software
Train students for specialists with a Christian world view and an artisan spirit!
A Course of Study
Division | Major | Hour/Unit | Course Type |
---|---|---|---|
Basic Divisional requirement | C Language Programming | 4/3 | theory+practice |
Discrete Mathematics | 3/3 | theory | |
Engineering Mathematics | 3/3 | theory | |
Major Electives Group A | Software Engineering | 3/3 | theory |
Data Structure | 3/3 | theory | |
Computer Architecture | 3/3 | theory | |
Windows API Programming | 4/3 | practice | |
JAVA Programming | 4/3 | theory+practice | |
Algorithm | 3/3 | theory | |
UNIX System | 4/3 | theory+practice | |
Information Security Theory | 3/3 | theory | |
Probability and Statistics | 3/3 | theory | |
Major Electives Group B | Operating System | 3/3 | theory |
UNIX Programming | 4/3 | theory+practice | |
Database Theory and Practice | 4/3 | theory+practice | |
MFC Programming | 4/3 | practice | |
Network Programming | 4/3 | theory+practice | |
Computer Network | 3/3 | theory | |
Web Server Programming | 4/3 | theory+practice | |
System Analysis and Design | 4/3 | practice | |
Introduction to XML Theory & Practice | 4/3 | theory+practice | |
C# Programming | 4/3 | practice | |
Major Electives Group C | Software System Development | 4/3 | practice |
Software Architecture | 4/3 | practice | |
Mobile Internet Application Programming | 4/3 | practice | |
Enterprise Application Programming | 4/3 | practice | |
Web Service Computing | 4/3 | practice | |
Ubiquitous Application System | 4/3 | practice | |
IT Project Management | 4/3 | practice | |
Linking Industry and Academia | 4/3 | practice | |
Graduation Project | 1/1 | practice | |
Total | 31 | 91 |
138103 Software Engineering (3/3) 소프트웨어공학 theory, elective course for major
To help students understand basic notions of software and life cycle, and the background and goal of software engineering.
Introduction to Software and software engineering, structured and object-oriented methodologies for software analysis and design, software implementation, software interface design, software project management, quality management and CMM(Capability Maturity Model), configuration management, etc.
Recommended for 2nd, 3rd and 4th year students who have taken basic programming language courses like C or Java language.
218601 Data Structure (3/3) 자료구조론 theory, an elective course for major, teacher credit course
To help students understand the data structures, array theory and its applications, record theory and its applications, linked list theory and its applications, graph theory and its applications, and tree theory and its applications.
Introduction to data structures such as array, record, linked list, graph, tree. And introduce its applications used in real world.
Recommended for 2nd or 3rd year students who have taken C language course.
245401 Computer Architecture (3/3) 컴퓨터구조론 theory, an elective course for major, teacher credit course
To help students understand computer processors and architecture
Introduction to computer systems, applications of digital logic circuits, data representation and manipulation, CPU architecture and Instruction set, micro-operation and control unit, pipelined processor and superscalar processor architecture, memory systems, input/output systems, parallel processing and multi-processor systems.
Recommended for 2nd or 3rd year students who have taken digital logic circuits and discrete mathematics.
449101 Windows API Programming (4/3) 윈도우즈 API 프로그래밍 theory and practice, elective course for major
To help students understand Windows programming architecture and environment, Windows API (Application Programming Interface) for development of GUI centered software, and to help students increase their ability in using software development tools for Windows software projects
Windows programming environment, Windows input and output, Menu and Resource, Dialog box and Control, Multiple Document Interface, Dynamic Linking Library, Windows File Manipulation, Multi-thread, etc.
Recommended for 2nd, 3rd and 4th year students who have knowledge of C programming.
3671 JAVA Programming (4/3) practice, elective course for major, teacher credit course
To help students understand the principles of computer programming with JAVA, Object-Oriented Programming (OOP) paradigm and to read and understand JAVA platform, API Specification
Primitive Types, Strings, and Console I/O, Flow of Control, Flow of Control(Loops)
Defining Classes and Methods, More About Objects and Methods, Arrays, Polymorphism and Inheritance, Exception Handling, Streams and File I/O, Recursion, Dynamic Data Structures and Generics
Recommended for 2nd and 3th year students who have taken basic programming courses.
Algorithm (3/3) 알고리즘 theory, elective course for major
To help students increase their understanding about the techniques for algorithm design, analysis, complexity issues, and to help students who want to solve the topics that are asymptotic notation, recurrence, sorting, order statistics, dynamic programming, graph algorithms, NP-completeness, and approximation.
Solution for algorithms about asymptotic notation, recurrence, sorting, order statistics, dynamic programming, graph algorithms, NP-completeness, shortest path, and approximation. Performance comparison of bubble sort, selection sort, merge sort, quick sort, etc.
Recommended for 2nd and 3rd year students who have taken basic mathematic courses.
219401 UNIX System (4/3) 유닉스시스템 theory & lab, elective course for major
To help students understand what an operating system is in general, and what Unix is in particular, the internal structure of UNIX System, basic UNIX commands and the UNIX programming environment as well as to learn how to write simple shell scripts
This course is meant to introduce you to the Unix operating system and to provide you with the knowledge necessary to use commands on a day-to-day basis, UNIX history and main feature (including Linux), files and directories, monitoring and controlling processes and files, utilization of a text editor vi , and Bourne shell scripts
Recommended for 3rd and 4th year students who have taken operating system and C programming language courses.
273802 Introduction to Information Security (3/3) 정보보호론 theory, elective course for major
To understand basic methods and applications of information security in internet based cyber society, basic methods of information security, history of cryptography, symmetric key cryptography, public key cryptography, digital signature, authentication, key management and distribution, applications of information security, PGP(Pretty Good Privacy), email security, SSL(Secure Socket Layer), and ·IPSEC
Introduction to information security, symmetric key cryptography theory and practice, public key cryptography theory and practice, public key distribution : public key certification system, PGP program, application system : email security, SSL/TLS, IPSEC, VPN, and smart card
Recommended for 2nd year students who have taken discrete mathematics and C language programming courses
367701 Probability and statistics (3/3) 확률 및 통계학 theory, elective course for major
To help students understand formal statistical methods for engineering applications and the practical analysis and interpretation of engineering data
Introduction to Statistics and Data Analysis, Probability, Rules of Calculating Probabilities, Bayes' Rule, Random Variables and Probability Distributions, Mathematical Expectation, Mean /Variance / Covariance, Some Discrete Probability Distributions, Some Continuous Probability Distributions, Functions of Random Variables, Random Sampling, One- and Two-Sample Estimation Problems, One- and Two-Sample Tests of Hypotheses, Simple Linear Regression and Correlation
Recommended for 2nd and 3rd year students who have taken engineering mathematics.
218901 Operating systems theory (3/3) 운영체제론 theory
By the end of this course, students should be able to:
● Have basic understanding of operating systems
● Describe the fundamental of computer resource management
● Understand computer H/W and S/W
● Explain basic concepts of memory management
Basic concept and functions of operating system. A detailed study of the management techniques for the control of computer hardware resources will be covered. Topics include interrupt systems, primitive level I/O, functional characteristics of hardware, the management of memory, processor, devices and data, scheduling resource allocation, performance measurement and system evaluation, etc.
Requirements: Knowledge of computer architecture
Recommended for 2nd and 3rd year students who have taken basic theological courses
2715 Unix Programing (4/3) 유닉스 프로그래밍, theory and laboratory, elective course for major
To help students who want to increase their programing ability in the Unix environment and who want to enhance their knowledge about Unix operating systems by practical C programing.
C programing language and Unix operating systems
Unix operating system (Kernel and Application)
Unix programing environments such as C complier, debugger, make, rcs, etc
Unix programing exercise for file system and process and network facilities
Recommended for 2nd and 3rd year students who have taken C programing and Unix operating courses.
367401 Darabase theory and practice (4/3) 데이터베이스 이론 및 실습 theory and practice, elective course for major
By the end of this course, students will be able to:
● understand database concepts and architectures
● Understand basic database concepts and MS-SQL
● Practice basic database MS-SQL
● Explain basic concepts of memory management
This course deals with the fundamental concepts of current database systems. Contents include the following: storage structure, file access methods, data models (relational, object oriented, object relational), query languages for data models, schema design methods, normalization process, query optimization, concurrency control, crash recovery, and database tuning. Students are required to work on a term project designing and implementing a database system using a commercial DBMS like MS-SQL.
Requirements: Knowledge of Computer architecture
Recommended for 2nd and 3rd year students who have taken basic theological courses
448801 MFC Programming (4/3) MFC 프로그래밍 theory+practice major elective
MFC Programming is designed to enable students to understand, and be able to apply the fundamental components of the visual c++ programming by writing programs. Students are expected to write the MFC-based application programs at the end of the course.
The contents of course are as following:
● Construction of basic window-based application
● Window events handling methods
● Windows socket programming
● Dialog-based application
● Application for database connection
Windows API Programming.
This course requires an intermediate level of proficiency with the C++ programming language.
Recommended for 3rd and 4th year students
273901 Network Programming (4/3) 네트워크프로그래밍 theory+practice, elective course for major
To help students increase their knowledge and practice about network programming by using Java or C++ and practice developing client/server applications in the TCP/IP domain.
These course notes are directed at JAVA or C++ application programmers who want to develop client/server applications in the TCP/IP domain (with some hints for those who want to write UDP/IP applications). Since the socket interface has become something of a standard these notes will apply to programmers on other platforms. Fundamental concepts are covered including network addressing, well known services, sockets and ports. Sample applications are examined with a view to developing similar applications that serve other contexts. Our goals are to develop a function, tcpopen (server,service), to connect to service, to develop a server that we can connect to.
Recommended for 3rd or 4th year students who have taken basic programming courses.
This course requires an understanding of the JAVA or C++ programming language, an appreciation of the programming environment and network environment.
211501 Computer Network (3/3) 컴퓨터 네트워크 theory, general requirement course
To help students understand networks, necessary basis data communication theory and a communication network technology, communication network design, cultivate construction and administrable capability.
Communication network technologies related to a data transmission technology between computer and various Information-Communication terminal. In particular, transfer medium, data encoding, link control techniques, transmission technology of multiplex etc.. and circuit and packet switched data network, local area network, mobile communication network, structure of integrated services digital network and connection protocol etc.
Recommended for 3rd and 4th year students who have taken basic theological courses.
320301 Web Server Programming (4/3) 웹서버프로그래밍 theory+practice, elective course for major
To help students increase their knowledge and practice about web server programming, server-side script and HTML programming.
This hands on Web programming class provides a thorough introduction to implementing a full-featured Web site on the Internet or corporate Intranet, including implementation of dynamic content using ASP(or PHP or JSP) and related tools. Starting with thorough coverage of HTML, the course progresses to the implementation of dynamic server-side content using ASP(or PHP or JSP). This hands on ASP(or PHP or JSP) training course provides the knowledge necessary to design and develop dynamic web pages using ASP(or PHP or JSP). It introduces students to ASP(or PHP or JSP) and how the language can be used to turn static HTML pages into dynamic, interactive web pages. Students will learn the syntax of the ASP(or PHP or JSP) language and how server-side scripts interact with client-side programs.
Recommended for 3rd or 4th year students who have taken basic programming courses.
This course requires an understanding of the Database environment.
358701 System Analysis and Design (4/3) 시스템 분석 및 설계 theory+practice, elective course for major
To help students increase their understanding of the software development process of system by enhaninge their analysis and design ability using the CASE tool
Methodology for requirement, analysis, design, implementation, testing, and maintenance. Concept of UML(Unified Modeling Language). Use case diagram practice, sequence diagram, class diagram, communication diagram, activity diagram, state diagram, component diagram, deploy diagram, package diagram by using CASE Tool
Recommended for 2nd and 3rd year students who have taken java programming courses.
368201 XML theory and practice (4/3) XML 이론 및 실습 theory & lab, elective course for major
To help students understand the fundamentals of XML and its techniques, structure and syntax of XML, standards related to XML, and how to write applications using XML
This course is meant to introduce you to the XML and to provide you with the knowledge necessary to use XML and its tools, XML syntax, DTD and XML Schema, XML namespace, XPath, and SAX/DOM
Recommended for 2nd and 3rd year students who have taken C programming language course.
448701 C# Programming (4/3 ) C# 프로그래밍
To help students understand fundamental concepts underlying software solutions and NET framework Microsoft programming environment
In this course we introduce fundamental concepts underlying software solutions of many problems. And the students learn structured data, statement sequencing, logic control, input/output, functions and .NET framework. The course will be taught using a structured, objected-oriented approach to programming with C# grammar.
A course designed to build on prior knowledge of a high level programming language. Expression, statement, module level constructs and .NET framework environment will be discussed; programming assignments and quizes will be used to reinforce concepts and to provide the requisite experience to pursue advanced computer science courses.
Recommended for 3rd and 4th year students who have taken basic language courses or basic object-oriented concepts.
358501 Software System Development (4/3) 소프트웨어 시스템 개발 theory+practice, elective course for major
To help students increase their knowledge about project development through a small team project to enhance their teamwork and programming ability.
Teamwork experience, brain storming, documentation management, project planning, person information management, scheduler, implementation, presentation, project evaluation. Students can use any programming language for implementation of the project.
Recommended for 4th year students who have taken programming courses.
358401 Software Architecture (4/3) 소프트웨어 아키텍처, theory and practice, elective course for major
To help students understand the design and evaluation process for software architecture by working as a team to carry out architecture design projects
Software quality for architecture, architecture views, architecture styles, architecture documentation, architecture design process, architecture evaluation, product line, component based design, architecture design practice of application systems, etc.
Recommended for 3rd and 4th year students who have fundamental knowledge of programming languages and understand the concept of software engineering.
359101 Mobile Internet Application Programming (4/3) 모바일 인터넷 응용프로그래밍
To help students develop programming skills for mobile handheld devices, understand the system components of mobile handheld devices, and virtual machine
In this course we introduce the conception of mobile programming environment on the basis of virtual machine. The main novelty is mobile and restricted resource environment. we introduce mobile C programming language like ANSI C in this course. The students will program mobile C programming language with mobile and restricted resource environment. we will use GNEX as a handheld device emulator. The students learn mobile C by making a test on it.
Recommended for 3rd and 4th year students who have taken basic language courses or handheld device concepts.
358901 Enterprise Application Programming (4/3) 엔터프라이즈 응용 프로그래밍 theory and practice, elective course for major
To help students understand the web-based distributed environment, analyze and design enterprise business applications, increase their ability to utilize application development tools such as software development environment and distributed software platforms, and understand how to work as a team to carry out software projects
Web-based programming environment, manipulation of distributed software development tools, EJB(Enterprise Java Beans), Object Oriented Design Patterns, Database manipulation, Component based application development, etc.
Recommended for 3rd and 4th year students who have fundamental knowledge of Java language.
359001 Web Service Computing (3/3) 웹서비스컴퓨팅 theory & lab, elective course for major
To help students understand the role of web services in enterprise applications, fundamental core technologies of web services, and how to write applications by using web service
This course is meant to introduce you to the web service and to provide you with the knowledge necessary to productively use web service and its tools, SOA and web service, web services background: origins, standards, XML, basic concepts, tools, and services, descriptions, and messaging : WSDL and SOAP
Recommended for 3th year students who have taken XML course.
419901 Ubiquitous Application System (4/3) Ubiquitous 응용 시스템
To help students understand the ubiquitous sensor network system, sensor board configurations, and hardware abstraction layer
This course is a project-based introduction to manipulating and characterizing ubiquitous sensor network system using remote sensor kits. The students learn small computer system architecture and operating system principles for sensor application configuration. The students make an experiment of sensor-related applications after testing many examples for sensor experimentations. The students will be qualified to be ready for making a test of sensor network protocols thru this courses.
Recommended for 3rd and 4th year students who have taken basic language courses or small microcontroller concepts.
420001 IT Project Management (4/3) IT 프로젝트 관리 theory+practice, elective course for major
To help students increase their knowledge about ERP and enterprise management and develop IT skills to integrate multiple software products.
Enterprise resource planning (ERP) contains all data for the software modules, which would include: Manufacturing : Engineering, Bills of Material, Scheduling, Capacity, Workflow Management, Quality Control, Cost Management, Manufacturing Process, Manufacturing Projects, Manufacturing Flow. Supply Chain Management : Order to cash, Inventory, Order Entry, Purchasing, Product Configuration, Supply Chain Planning, Supplier Scheduling, Inspection of goods, Claim Processing, Commission Calculation. Financial : General Ledger, Cash Management, Accounts Payable, Accounts Receivable, Fixed Assets Projects : Costing, Billing, Time and Expense, Activity Management. Human Resources : Human Resources, Payroll, Training, Time & Attendance, Rostering, Benefits. Customer Relationship Management : Sales and Marketing, Commissions, Service, Customer Contact and Call Center support.
Recommended for 4th year students who have taken system analysis and design, and programming courses.
342401 Linking industry and academia (4/3) 산학연계응용 theory and practice, an elective course for major, teacher credit course
To help students upgrade the professional skills preliminary in a particular industry to gain various practical knowledge used in the industry
Introduction to various subjects used in the industry.
Recommended for 4rd year students
448901 Graduation Project (1/1) 소프트웨어학 졸업 프로젝트 practice, major requirement
To help students who want to be evaluated for their graduation project.
Production and presentation of final graduation project as a culmination of utilizing theory and practical ability gained from previous courses. Projects are evaluated for all of 4th year students who are in their graduating semester.
Recommended for 4th year students preparing to graduate.