home sitemap

교과목 소개

 홈 > 학사안내>  교과목 소개


FL0001 컴퓨터 과학 (Computer Science)

본 과목은 컴퓨터과학을 전공하려는 학생들이 처음 이해해야 할 기술적 사항을 다룬다. 본 과목에서 다루는 주요 내용은 기계의 구조, 소프트웨어의 구조, 데이터의 구성 방법, 기계의 계산 능력 등이다. 학생들은 본 과목을 통하여 컴퓨터과학 분야의 여러 기술들 사이의 상호 관계 및 계산의 한계를 이해하게 된다. 본 과목에서 배우는 기술은 프로그래밍 과제를 통해 실습한다. This course introduces basic principles of computer operation and major information systems, including computer architecture, operation systems, network and internet, database, software engineering, computer security, and multimedia computing. Because this course aims at providing basic understanding, it does not require any prerequisite courses. However, it is required student's dedication to complete this course in which many homeworks, class presentations, and pop tests are usually given.

FL0003, FL0007 물리학 Ⅰ,Ⅱ (Physics Ⅰ,Ⅱ)

물리학의 기본 원리와 법칙을 체계적으로 이해시켜서 그 지식을 각 전공분야에서 응용할 수 있는 능력을 기른다. These courses introduce the basic principles and laws of Physics, in order for students to be able to apply them in their major areas.

FL0004, FL0008 물리학실험 Ⅰ,Ⅱ (Experiment of Physics Ⅰ,Ⅱ)

전공 과정의 연구에 필요한 기초적인 물리실험을 학습하여 실험기기나 기구를 다루는 방법, 시약조제법, 양론계산법 등을 실습하여 물리실험의 기초 원리를 이해하게 한다. These courses introduce basic experiments of Physics. Students will learn how to deal with experimental equipments, how to make reagents, Stoichiometry, and will eventually understand the basic principles of Physics.

FL0005 미적분학 (Calculus)

본 과목에서는 여러 가지 적분법, 편도함수, 중적분법 등의 기본개념 및 성질들을 체계적으로 소개하여 여러 가지 예를 통하여 위의 기본개념과 성질을 충분히 이해할 수 있게 한다. 또한 부정적분의 계산능력을 키우고, 모든 교과내용을 자연과학 및 공학 분야에 응용할 수 있게 한다. This course's topics include a brief review of polynomials, trigonometric, exponential, and logarithmic functions, followed by discussion of limits, derivatives, and applications of differential calculus to real-world problem areas. An introduction to integration concludes the course.

FL0006 확률 및 통계 (Probability & Statistics)

불확실한 현상을 모형화 하기 위해 이산형 및 연속형 확률 변수들의 특성을 다루며 실험 데이터를 이용한 모형의 분석을 위해 기초적인 통계기법과 가설의 검증 및 단순 회귀분석 기법 등을 이해하는 것에 그 목적이 있다. This course provides an elementary introduction to probability and statistics with applications. Topics include basic probability models; combinatorics; random variables; discrete and continuous probability distributions; statistical estimation and testing; confidence intervals; and an introduction to linear regression.

FL0012, FL0002 프로그래밍 Ⅰ,Ⅱ (Programming Ⅰ,Ⅱ)

본 과목은 C 언어를 사용하여 컴퓨터 프로그래밍의 기본 이론과 실기를 배우는 과목이다. 세부 내용은 C 언어의 숫자형, 문자형, 연산자, 제어용 문장, 배열, 프로그램의 구조, 포인터, 문자열, 구조형, 배열의 배열, 포인터의 배열, 파일 입출력 등이다. 본 과목에서 배운 내용은 실제 컴퓨터상에서 프로그래밍 하여 익힌다. These courses teach students various features of C programming language including data types, operators, expressions, control flow, functions, pointers, arrays, and structures. Students learn these features through lecture and programming practice.

FL7001 공학설계입문 (Introduction to Engineering Design)

설계의 본질과 공학의 주요 활동을 익히고 공학개념 설계의 절차와 정보획득 절차 및 설계관리 도구에 대하여 학습함으로써 공학도의 최소한의 소양을 갖추고 더 나아가 능력 있는 공학자의 자질을 배양한다. This course provides the introduction of the engineering design process. The first part of this course embodies the steps required to take an idea from concept to successful design. The second part presents important technical tools that ECE designers often draw upon. The third part focuses on professional skills which include teamwork, project management skills and oral presentations.

EA0034 미분방정식 (Differential Equations)

미분방정식은 미적분학을 공부한 뒤 수강할 수 있는 과목이며 자연과학, 공학 등에 널리 사용되며 그 분야에서는 필수적인 과목이 된다. 초등 미분방정식의 기초 개념을 고찰하고 제 1계 및 제2계 미분방정식의 해법과 응용, 선형 미분방정식의 기초 이론 등을 다룬다. This course provides an introduction to ordinary differential equations with an emphasis on applications. Topics include first-order, linear higher-order, and systems of differential equations; numerical methods; series solutions; eigenvalues and eigenvectors; Laplace transforms; and Fourier series. Upon completion, students should be able to use differential equations to model physical phenomena, solve the equations, and use the solutions to analyze the phenomena.

EA0001, EA0033 이산수학 Ⅰ,Ⅱ (Discrete Mathematics Ⅰ,Ⅱ)

자료의 정리와 배열에 관한 집합이론과 자료사이의 인과관계를 다루는 논리구조와 확률의 개념, 귀납법 및 순환법을 통해 주어진 문제를 논리적이고 오류없이 해결하는 방법을 배우며, 조합론 및 이산구조, 알고리즘 분석 등 다른 전공과목을 이해하는데 필요한 기초지식을 습득한다. Thess courses study the mathematical elements of computer science including propositional logic, predicate logic, sets, functions and relations, combinatorics, mathematical induction, recursion, algorithms, matrices, graphs, trees, and Boolean logic. Students will learn to recognize and express the mathematical ideas graphically, numerically, symbolically, and in writing.

EA0032 선형대수학 (Linear Algebra)

선형대수학은 우리에게 지식을 체계화시킬 수 있는 논리를 제공해준다. 그러나 이러한 논리적 사고 능력은 단순히 암기해서는 되지 않으며 단계별로 이해해 나가는 연습과정 중에 얻어지게 된다. 이러한 논리적 사고 능력의 배양과 함께 선형대수의 기본 개념들을 탐구하고 적용할 수 있는 능력의 개발이 본 교과목이 목표하는 바이다. 본 과목에서는 이론만을 다루지 않고 그래프 이론, 암호 이론, 마르코프 프로세스, 컴퓨터 그래픽, 피보나치수열, 데이터의 곡선적합 등 선형대수의 응용을 적절하게 다룬다. Linear Algebra gives logical bases of knowledge systematization. However, such logical bases cannot be obtained by simple memorization but many problem solvings on the basis of the systematic procedure. Acqusition of such logical bases and learning & application for basic concepts of linear algebra are the purpose of this subject. In this subject, only theories not considered but including many kinds of applications such as graph theory, cryptography, Markov process, computer graphics, Pivonacci sequence, and so on.

EA0035 자료구조 (Data Structure)

본 과목에서는 효과적인 컴퓨터 소프트웨어 설계를 위하여 필수적인 자료의 표현 및 처리 방법을 다룬다. 주된 내용은 자료구조와 알고리즘의 개념을 이해하고 다양한 자료구조인 배열, 스택, 큐, 리스트, 트리, 그래프 등의 개념 및 각각의 자료구조와 관련된 기본 알고리즘을 다룬다. This course introduces an essential way of representing and processing data for effective computer software design. Main topics cover various data structures such as array, stack, queue, list, tree graph and their representation and related algorithms.

EA0003 시스템 소프트웨어 (System Softwares)

컴퓨터 소프트웨어는 응용 소프트웨어와 컴퓨터 시스템의 작동을 기본적으로 제어하는 시스템 소프트웨어로 나누어진다. 컴퓨터 하드웨어의 제어와 밀접한 관련이 있는 어셈블리 언어를 배우고, 어셈블리 언어를 기계어로 바꾸어주는 어셈블러를 설계 구현한다. 또한 오브젝트 모듈을 하나의 수행가능 한 파일로 만드는 링커와 기계어 프로그램을 메모리에 올려주는 로더 등의 시스템 소프트웨어의 기능과 구조를 배움으로서 컴퓨터 시스템의 작동 원리를 보다 심도 있게 이해한다. Computer software is divides into application S/W and system S/W. First, this course studies assembly programming which is closely related to the control of computer hardware. Then it also studies design and implementation of various system softwares such as assembler, linker, and loader in order to provide more profound understanding of computer system principles.

EA0027 논리회로 (Digital Logic)

컴퓨터 하드웨어의 기본을 이루는 부울연산 및 논리 게이트에 대해 학습하고 가산기, 다중화기 등의 조합회로와 레지스터, 카운터 및 메모리 소자 등의 순서회로에 대한 이해를 통해 컴퓨터 하드웨어 설계에 응용할 수 있는 능력을 배양한다. This course covers the fundamentals of Boolean algebra, the design of the combinational circuits and the sequential circuits. Students will learn not only the combinational logic such as the adder, the multiplexer and the decoder but also the sequential logic including the register, the counter and the memory unit. Additionally, the objective of this course is to provide the understanding of the computer hardware design.

EZ0003 운영체제 (Computer Operating Systems)

운영체제는 사용자의 편리한 컴퓨터 사용을 도와주고 컴퓨터 시스템의 자원을 효율적으로 사용하도록 관리하는 중요한 시스템 소프트웨어이다. 관리해야 할 컴퓨터 시스템의 특성, 운영체제의 요건 등과 프로세스, 메모리, 파일시스템, 입출력시스템 등에 대한 설계 원리와 구현에 대하여 학습한다.

EA0002 컴퓨터구조 (Computer Architecture)

컴퓨터의 구성 요소인 중앙 처리 장치(CPU), 명령어 세트, 성능 향상을 위한 파이프라인 방식의 이해, 메인 메모리, 캐쉬 메모리의 특성과 외부 메모리, 그리고 시스템 버스 및 입출력 장치 등 컴퓨터 구조의 전반적인 개념을 이해한다. This course is on computer architecture with an emphasis on computer organization including CPU(Central Process Unit), Main Memory, System Bus and Input/Output devices. This course covers the fundamental of classical and modern processor design: performance issue, instruction sets, pipelining, caches etc.

EZ0002 객체지향프로그래밍 (Object Oriented Programming)

객체지향 분석, 설계 및 프로그래밍에 대한 개념과 다양한 객체지향 프로그래밍 언어의 특징과 기본을 배운다. 이를 통하여 객체지향 소프트웨어 시스템을 직접 개발하여 봄으로써 객체지향 패러다임을 이해하게 되며 객체지향 개념을 이용할 수 있는 소양을 쌓는다. In this course, the concepts and the methods for objected oriented basic, analysis, design, programming, and characteristics are dealt. Based on the learnd concepts and methods, students can increase a grounding related with the object orieted design by actual developing the object oriented software system.

EA9002 데이터통신 (Data Communication)

대표적인 인터네트워킹 기술인 TCP/IP 프로토콜과 웹에 근간이 되는 다양한 프로토콜의 내부 구조와 구현 기술에 대하여 연구하며 공부한다. 또한 소켓 인터페이스를 이용하여 다양한 응용 프로토콜을 설계 구현할 수 있는 능력을 배양한다. This course gives a general overview of data communications and networking, the physical layer of the Internet model and the data link layer of the Internet model. In the physical layer of the Internet model, introduced are the telecommunication aspects of the physical layer, transmission media, switching and public networks. Also, this course covers error detection and correction in the data link layer.

EA0004 컴퓨터네트워크 (Computer Networks)

인터넷 프로토콜 스텍의 HTTP, FTP와 같은 어플리케이션 계층 프로토콜, TCP와 UDP의 트랜스포트 계층 프로토콜, IP 네트워크 계층 프로토콜 및 이더넷, ATM 등의 데이터링크 계층에서의 프로토콜들에 대한 이해와 인터넷에서의 트래픽 전송 특성 등에 대해 이해한다. This course will provide a modern introduction to the various fields of computer networks. It will provide fundamental understanding of today's Internet. It covers Internet protocol stacks: Data Link Layer, Network Layer, Network Layer, Transport Layer and Application Layer.

EA0008 소프트웨어 공학 (Software Engineering)

소프트웨어 공학은 소프트웨어 개발을 위한 구조화된 방법을 강의하는 과목이다. 요구사항 분석부터 유지보수까지 연구된 이론들을 살펴보고, 계별로 최신 관련 연구를 통해 현재의 연구 방향을 이해한다. 이러한 이론을 바탕으로 체계적인 방법을 통해 소프트웨어를 개발해 내도록 교육한다. Software engineering focuses on the systematic production and maintenance of software products, and involves not only the technical aspects of building software systems, but also the collaboration required of programming teams and the alignment of software solutions with organizational strategies. The course covers the nature of software and software projects, software development models, project planning, management, and communication.

EA0017 인공지능 (Artificial Intelligence)

인공지능과 관련된 기본 이론과 다양한 응용 방법을 다룬다. 특히 탐색 방법, 다양한 지식 표현 방법, 추론법, LISP와 PROLOG 등의 인공지능 언어 등에 대한 지식을 습득하고 지식 기반 시스템의 원리 및 구성 방법 등을 배운다. This course covers broad areas in Artificial Intelligence (AI) including various search strategies, knowledge representation techniques, inference techniques, rule-based expert systems, and machine learning. It also covers some programming languages, such as Jess and PROLOG, for writing typical AI programs.

EA0005 디지털 신호처리 (Digital signal processing)

디지털신호의 기본 개념과 프로그래밍 언어를 통해 디지털 신호 및 영상으로부터 패턴인식을 위해 필요한 특징벡터 추출 방법을 학습한다. 이를 위해 디지털신호의 산술연산, 컨볼루션 연산, 기하학적 처리등의 시간 및 공간 영역에서의 처리기법과 퓨리에 변환에 기반한 주파수 영역에서의 처리방법을 학습한다. This course introduces the basic concept of digital signal and the feature extraction method from the digital signal or image using programming language. Methods in temporal or spatial domain such as arithmetic operation, convolution, geometric processing, and Fourier transform based methods in frequency domain are covered.

EZ0004 데이터베이스 (Database)

실세계의 다양한 정보원들을 조직화하여 통합 저장하는 데이터베이스와 이를 중앙 관리하는 데이터베이스 관리 시스템 및 관련 이론과 기술을 배운다. 관계 데이터 모델을 기반으로 하여 관계 대수와 해석, 관계 질의어인 SQL과 QBE, 데이터베이스 설계의 대강, 데이터 종속성과 정규화 이론을 중점적으로 학습하며 데이터 마이닝이나 트랜잭션 처리, 인터넷 데이터베이스 등을 보조적으로 학습하며 최신 응용분야에 활용할 수 있는 안목을 기른다. A database is an organized collection of data, from various data sources, to be shared by applications and users in a specific organization. This course provides an elementary introduction to database concept, theory and basic practice to organize databases and manage database management systems. Students will learn E-R diagram, relational data model, SQL, current trends, and relevant issues.

EA0011 프로그래밍언어론 (Theory of Programming Languages)

본 과목은 프로그래밍 언어의 기본 이론을 소개한다. 먼저 귀납법(induction), 문맥 자유 문법(context-free grammar), 파싱(parsing) 등의 형식적(formal) 이론을 소개한 후 다양한 언어의 실제적인 의미(semantics)에 대하여 공부한다. 본 과목에서 다루는 자세한 내용은 귀납법, 문맥 자유 문법, 파싱, 식(expression) 중심 언어, 상태(state) 중심 언어, 형(type) 중심 언어, 객체(object) 중심 언어 등의 의미를 포함하고 있다. 본 과목에서 학생들은 여러 언어의 인터프리터를 구현해 봄으로서 배운 이론을 연습한다. This course introduces the basic theory of programming languages. It covers the formal concepts of induction, context-free grammar, parsing, and the semantics of various practical programming languages. This course studies the following technical items: induction, context-free grammar, parsing, semantics of expression languages, state languages, type languages and object languages. In this course, students practice the theory of programming languages by implementing the interpreters of various programming languages.

EA0010 알고리즘 (Algorithm)

컴퓨터를 사용하여 주어진 문제를 풀고 해답을 얻어내는 과정을 기술한 것을 알고리즘이라고 한다. 본 강좌에서는 정렬 문제와 트리 및 그래프로 추상화된 문제들에 대한 여러 알고리즘을 공부하고 각 알고리즘들의 시간적 공간적 측면의 효율을 비교하고 분석하는 기법을 배운다. Algorithm is a procedure or formula for solving a problem and getting a solution. This course introduces many algorithms for abstract problems such as sorting, tree, graph and analysis methods for the efficiency of time and space.

EA0012 데이터베이스 모델링 (Database Modeling)

정보화시대의 핵심 자산인 정보를 어떻게 데이터베이스로 모델링하느냐에 따라 정보시스템의 효과와 효율이 결정된다. 본 과목에서는 이러한 데이터베이스 모델링의 개념을 이해하고 모델링을 기본적인 수준에서 수행할 수 있도록 방법론과 실무를 습득한다. 모델링 도구를 이용하여 ER 다이어그램을 작성하는 연습을 포함하며 최종적으로는 수강생 각자가 홈쇼핑몰, 수강신청시스템 등 특정 정보시스템을 가정한 데이터베이스 모델링을 학기말 프로젝트로 수행함으로써 모델링 실무에 대한 경험을 체득한다. The effectiveness and efficiency of an information system depends on database modeling. This course provides an elementary introduction to database modeling concept, basic guidelines and practice. Students will learn database application environment, database design process and methodology, tools including ERWin, ER to relational transformation, normalization, some tuning and efficiency matters, and some modeling examples.

EA9201 전공과 취업(컴퓨터과학) (Major & Recruitment )

본 과목은 교육 참가자가 진로선택 및 취업과정의 모든 문제들을 스스로 생각하고 고민하여 결정하게 함에 그 목적이 있다. 다양한 질문을 통하여 교육참가자 스스로 주차별 주제에 대하여 생각하고 발표할 수 있도록 유도한다. 또한, 주차별 주제에 맞는 자료를 제공하여 습득하게 하고, 학생 스스로 결론을 맺을 수 있게 한다.

EA0014 유닉스 프로그래밍 (UNIX Programming)

본 과목은 C 언어와 유닉스 시스템 호출 인터페이스를 사용한 프로그래밍 방법을 공부한다. 세부적인 기술 사항은 다음과 같다. 쉘(shell), 파일 입출력, 파일 및 디렉토리, 시스템 데이터 파일 및 정보, 프로세스 환경, 프로세스 제어, 소켓(socket), 신호(signal), 쓰레드(thread), 프로세스 간 통신(IPC) 등이다. 또한 이 과목에서는 공학 설계 및 컴퓨터 윤리를 다룬다. This course intruduces system programming with C programming language and Unix system call interface. This course's topics include Unix Shell, File Input and Output, Files and Directories, System data files and informations, Process Environments, Process Control, Socket, Signal, Threads and Interprocess Communications. This course also provides a practice of engineering design and an introducton to ethics of Computing.

EA0013 휴먼컴퓨터인터렉션 (Human Computer Interaction)

소프트웨어를 개발하는 프로그래머들에게 여러 인터페이스 개발 방법들을 소개하고, 이 방법들을 적용 분야와 적용 목적에 따라 그 차이를 비교함으로서 보다 편리한 인터페이스를 개발하는 방법을 학습한다. 또한 소프트웨어들이 지금까지 사용해 왔던 방법들을 살펴보고 사용자 측면에서 문제점을 알아봄으로써 보다 효과적인 인터페이스 설계를 할 수 있도록 하는데 목적이 있다. Human–Computer Interaction(HCI) is the study of the interaction between users and computers. The basic goal of HCI is to improve the interactions between users and computers by making computers more usable and receptive to the user's needs. The course covers the design, evaluation and implementation of interactive computing systems for human use.

EA0015 컴파일러 (Compilers)

본 과목은 고급(high level) 언어를 저급(low level) 언어로 변환하는 컴파일러를 개발하는 데 필요한 기본 기술을 소개한다. 본 과목에서 다루는 기술적인 사항은 다음과 같다. 정규 식(regular expression), 유한 자동 기계(finite automata), 정규 언어(regular languages), flex 컴파일러 도구, 문맥 자유 문법(context-free grammar), 푸시 다운 자동 기계(push-down automata), 문맥 자유 언어(context-free language), 하향식 파싱(top-down parsing), 상향식 파싱(bottom-up parsing), bison 컴파일러 도구, 속성 문법(attribute grammar), 심볼 테이블, 타겟 기계, 실행 시간 환경, 코드 생성 등이다. 본 과목에서 학생들은 작은 C 언어의 컴파일러를 직접 구현해 봄으로서 컴파일러 개발 기술을 연습한다. This course introduces the basic techniques to develop compilers that translate high level languages to low level languages. This course studies the following technical items: regular expressions, finite automata, regular languages, flex compiler tool, context-free grammar, push-down automata, context-free languages, top-down parsing, bottom-up parsing, bison compiler tool, attribute grammars, symbol table, target machine, run-time environment and code generation, In this course, students practice the compiler construction techniques by implementing a compiler of a small C language.

EA0016 컴퓨터 보안 (Computer Security)

본 과목은 컴퓨터/통신/인터넷 보안에 관한 전반적 기술적 사항을 다룬다. 본 과목에서 다루는 세부 사항은 다음과 같다. 보안 관련 기초 기술, 침입의 유형과 취약점, 침입의 기술적 방지 방법, 침입을 탐지하는 방법, 처치 방법 등이다. This course introduces basic principles of computer security skills and defending systems in information system, data base, and devices. Basic hacking skills, including system hacking and network hacking, are covered through lab implementation, while techniques of handling malwares, virus and worm, will be taught in theory and principles. Also, encryption algorithms with PKI architecture are important topics in this course with an emphasis on internet applications.

EA0028,0030 임베디드 소프트웨어 Ⅰ,Ⅱ (Embedded Software Ⅰ,Ⅱ)

본 과목은 Embedded S/W를 개발하는 기술을 다룬다. 세부 기술적 사항은 다음과 같다. Embedded 시스템의 소개, Embedded S/W 개발 키트의 사용 방법, 커널의 제작 방법, 모듈 프로그래밍 및 디바이스 드라이버 프로그래밍 기술, 문자 디바이스 드라이버 프로그래밍 방법, 블록 디바이스 드라이버 프로그래밍 방법, 내장형 네트워크 구성 방법, 다양한 프로젝트 수행이다. 본 과목은 리눅스 PC와 Embedded S/W 개발 키트를 사용하여 실습 및 프로젝트를 수행한다. This course studies how to develop embedded S/W as follows: introduction to embedded system, embedded S/W development kit, building embedded kernels, module and device driver programming and network programming. This course also includes lab and development projects based on Linux and embedded S/W development kit.

EA9004,9005 컴퓨터과학특강Ⅰ,Ⅱ (Selected Topics in Computer ScienceⅠ,Ⅱ)

본 과목은 컴퓨터, 정보, 인터넷 등 최근의 이슈가 되는 특별한 주제들을 선별하여 학생들로 하여금 최근의 컴퓨터 기술에 대한 이해하는 것을 목적으로 한다. This course selectively introduces recent issues on computer technology in IT and computer science area.

EA0020, EA0026 종합설계 및 프로젝트 Ⅰ, Ⅱ (Capstone Design & Project Ⅰ, Ⅱ)

소프트웨어 개발의 중요한 단계들인 계획, 분석, 설계, 구현, 테스트, 유지보수 과정을 효과적으로 수행하기 위한 기법을 배우고 이를 직접 팀을 구성하여 프로젝트에 적용시켜봄으로써 적은 비용으로 품질 높은 소프트웨어를 개발하는 능력과 실무 응용력, 문제 해결능력을 기른다. These courses introduce the techniques for successfully conducting steps for software developments such as requirement analysis, architecture design, implementation, test, managements. Students will form project groups, solve problems they defined, and develop according to their own idea and interest. They will eventually learn how to efficiently develop software in real world.

EA0029 임베디드 하드웨어 (Embedded Hardware)

VHDL에 대해 전반적으로 이해하고, 데이터 북의 타이밍 해석방법 및 설계방법을 익히도록 한다. 프로젝트 수업을 통해 하드웨어의 설계/해석 능력을 배양한다. This course introduces hardware description languages (primarily VHDL), design/analysis techniques for complex logic, and implementation techniques on FPGA (Field Programmable Gate Array).

EA0021 분산시스템 (Distributed Systems)

분산 환경에서 프로세서간의 통신, 분산화일 시스템, 분산자원의 관리, 분산 시스템의 구조, 보안, 신뢰도 등에 대한 연구 내용과 효율적인 분산시스템을 구축하기 위한 여러 기술에 대하여 공부한다. Distributed system covers the communication mechanism of processes, distributed file system, distributed resource management, distributed system architecture, security, reliability in distributed environment and related technologies for implementing the efficient distributed systems.