Eastern mediterranean university curriculum Committee



Yüklə 0,7 Mb.
səhifə4/6
tarix11.08.2018
ölçüsü0,7 Mb.
#68840
1   2   3   4   5   6

*UE 1 must be a science elective due to ABET requirements

Course Descriptions – I - English: All compulsory courses offered by the department of the program
Type the catalog course description of each course in English in the following order: course content, course credits, prerequisites, Abbreviated Title, Category of the course, teaching language, and keywords. The information supplied will be copied and pasted to the catalog.

  • Course code: Replace CODEXXX with the course code

  • Course title: Replace Full Course Title with the course title.

  • Course Outline: Replace Course outline with statements of the course outline. Avoid using multiple paragraphs. Do not keep the text “Course outline” as a heading.

  • Credits: Replace L, L, T and X with corresponding numbers for lecture, lab, tutorial and total course credit, respectively.

  • ECTS: Write total ECTS credits

  • Prerequisites: Delete “None” and replace XXXXXX with the corresponding course code.

  • Course Category: XXXXXXXX with any of “University Core”, “Faculty / School Core”, “Area Core”, “Area Elective”, or “University Elective”

  • Abbreviated title: This is going to be used in preparation of transcripts or registration forms. Replace XXXXXXXXXXXXXXX with a shorter version of the full title.

  • Teaching language: Replace XXXXX with the teaching language

  • Keywords: Replace XXXXXX, XXXXXX with words other than the ones available in the title and course outline which helps to identify the course.

The total text length should not exceed 2000 characters.




1.

CMSE100 Introduction to Software Engineering

A series of seminars are held in current topics and areas of specialization in Software Engineering. Speakers are invited from different departments of EMU including Computer Engineering Department or other International Universities, Industry and Consulting firms, to deliver seminars in all aspects of engineering that are not normally covered in the lecture courses.



Credits: ( 0 / 0 / 2 ) 0 Prerequisites: None ECTS: 2

Abbreviated Title: Introduction to Software Engineering Category: Area Core Course Teaching Language: English

Keywords: Software Engineering

2.

CMPE101 Foundations of Computer Engineering

This course introduces the student to the fundamental concepts of the computer engineering discipline. Topics covered include: Computers and information processing -notion of computers, concepts of data and information, applications of computers, history of computing. Computer hardware -CPU, memory, input/output interface, secondary storage, ports, types of computer systems, computer software -system software, utilities, application software, data communication, an overview of operating systems. General Problem Solving Concepts: basic data types, constants and variables, basic operators and expressions, algorithms, pseudo codes, and flow charts, sequential, and conditional problem solving (IF statements and CASE logic), looping (WHILE/WHILE-END, REPEAT-UNTIL, FOR structures), formatted output, examples in C programming language.



Credits: ( 3 / 1 / 0 ) 3 Prerequisites: None ECTS:6

Abbreviated Title: Foundations of Computer Engineering Category: Area Core Course Teaching Language: English

Keywords: computer engineering

Department offering the course: Computer Engineering

3.

CMPE112 Programming Fundamentals

An overview of C programming language, Sequential structure Data types and classes of data, arithmetic operators and expressions, assignment statements, type conversions, simple I/O functions (printf, scanf, fprintf, fscanf, gets, puts, fgets, fputs). Selective structure Relational operators, logical operators, conditional expression operator, conditional statements (if, switch). Repetitive structures While, do-while, for loops, loop interruptions (goto, break, continue), Null statement, comma operator. Functions Function definition and function call, external variables, storage classes, recursion. Arrays Array declaration, array initialization, arrays as function arguments. Pointers Basics of pointers, functions and pointers, arrays and pointers, strings and pointers, library functions for processing strings, pointer arrays. Structures Basics of structures, structures and functions, arrays of structures.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMPE101 ECTS:7

Abbreviated Title: Programming Fundamentals Category: Area Core Course Teaching Language: English

Keywords: computer programming

Department offering the course: Computer Engineering

4.

CMSE201 Fundamentals of Software Engineering

Phases of the software development process. Estimation, system modeling, requirements analysis. Project management, modular software design, object-oriented analysis and design techniques. Design documentation using symbolic representations, UML diagrams. Software testing, quality issues.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMPE101 ECTS: 7

Abbreviated Title: Fundamentals of Software Engineering Category: Area Core Course Teaching Language: English

Keywords: Software Engineering

5.

CMSE222 Introduction to Computer Organization

Simplification of Boolean functions. Combinatorial logic. Synchronous sequential logic, registers, and counters. Machine language instructions: the MIPS approach. Computer arithmetic. The processing unit: data path and control.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: MATH163 ECTS:7

Abbreviated Title: Introduction to Computer Organization Category: Area Core Course Teaching Language: English

Keywords: Computer Organization

6.

CMPE211 Object-Oriented Programming

Basics of C++ and Control structures. Program design, Object-Oriented programming and its specific features. Layout of a simple C++ program (elementary C++ programming. Fundamental types, scope. Overview of selection and iteration structures of C and C++ languages. Examples of C++ programs. Functions and Arrays. Review of functions and arrays. Prototypes (declarations), function definition, function overloading, inline functions, scope resolution operator (::), call-by-value, call-by-reference (reference parameters), default arguments, array declarations, operations on arrays, using arrays as function arguments. Pointers, C strings and C++ strings. Pointer variables, declaration and initialization. Use of pointers in call-by-reference function calls, returning a reference, arrays of pointers, pointers to arrays, pointers to functions, dynamic memory allocation with C++ operators new and delete, C-strings, input/output operations, standard C-string functions, formatted and unformatted input /output, C++ string type (the standard string class). Classes and Data abstraction. Structure definition, accessing members of structures, class declarations, constructors, constructor initialization lists. Class destructor, member access specifiers public and private, const member functions, friend functions and classes, static data and function members. Operator Overloading. Fundamentals and restrictions of operator overloading, this pointer, overloading unary and binary operators. Composition and Inheritance. Base classes and derived classes, protected class members, virtual functions and polymorphism, virtual destructors, private access vs. protected access, abstract base classes. Revision of the material discussed in the course.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMPE112 ECTS:7

Abbreviated Title: Object-Oriented Programming Category: Area Core Course Teaching Language: English

Keywords: object-oriented programming

Department offering the course: Computer Engineering

7.

CMPE231 Data Structures

Data types. Binary and decimal Integers. Floating point number. Pointers. Arrays. Structures. Array of structures. Self-referential structures. Dynamic memory allocation. Concept of Abstract Data Type (ADT). Memory allocation of arrays. Linked lists (singly linked, doubly linked, circular). Dynamic implementation of lists. The stack. Infix, postfix, and prefix notations. Applications of the stack: Infix-to-postfix conversion, evaluation of postfix expressions. Recursion. Binary search. The towers of Hanoi problem. Queues. Trees and their applications. Binary tree representations. Binary tree traversals. Binary search trees (definition, operations). Heaps



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMPE112 ECTS:7

Abbreviated Title: Data Structures Category: Area Core Course Teaching Language: English

Keywords: data structures

Department offering the course: Computer Engineering

8.

CMPE242 Operating Systems

Operating system definition, simple batch systems, multiprogramming, time-sharing, personal computer systems, parallel systems. introduction to process, process scheduling, operations on processes, cooperating processes, interprocess communications, interrupts, process synchronization, critical-section problem, atomic instructions, semaphores, synchronization problems, CPU scheduling, scheduling criteria and algorithms, multiple processes and real-time scheduling, algorithm evaluation, deadlocks, characterization and handling of deadlocks, deadlock prevention avoidance and detection, deadlock recovery, memory management and virtual memory, address spaces, swapping, memory allocation, paging, segmentation, file-systems, file concepts, access methods, directory structure.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMPE112 ECTS:7

Abbreviated Title: Operating Systems Category: Area Core Course Teaching Language: English

Keywords: operating systems

Department offering the course: Computer Engineering

9.

CMSE321 Software Requirements Analysis & Specification

Functional, non-functional and domain requirements. User and system requirements. Feasibility study. Estimation techniques. Languages and models for representing requirements. Performance, reliability, availability, safety, and security issues. Requirements documentation standards. Requirements management: handling requirements changes.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE201 ECTS 7:

Abbreviated Title: Software Requirements Category: Area Core Course Teaching Language: English

Keywords: requirements analysis, requirements specification

10.

CMSE322 Software Design

Modular software design. Different architectural design styles for software. UML diagrams, Client/server paradigm. Choice of appropriate software and hardware system capabilities. Dealing with timing constraints. Formal software design specification techniques. Configuration management. Software design for distributed systems. Reusability and commercial off-the-shelf software modules.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE321 ECTS: 7

Abbreviated Title: Software Design Category: Area Core Course Teaching Language: English

Keywords: Software design, software specification

11.

CMSE326 Software Quality Assurance and Testing

Software metrics. Quality planning and quality control. Inspections and formal technical reviews. Black-box and white-box testing, problem analysis and reporting techniques. Verification and validation techniques. Process and product quality assessment. Process measurement. Software quality assurance standards.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE201 ECTS: 6

Abbreviated Title: Testing Category: Area Core Course Teaching Language: English

Keywords: software testing, quality assurance

12.

CMSE346 Computer Networks and Communication

This course addresses the general principles of computer networks and communication with emphasis on the software aspects of networking. In the study of the multilayered model, it begins with application level and works its way down towards the lower layers. Topics include: Internet 1 and Internet applications, transport protocols, switching and routing, link layer and LANs. Software support for networks.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMPE242, MATH322 ECTS:6

Abbreviated Title :Networks Category: Area Core Course Teaching Language: English

Keywords: computer networks, computer communications

13.

CMSE353 Security of Software Systems

Information security requirements, security threats, attacks, and methods providing information protection, discretionary and mandatory access models. Malicious software. Symmetric and asymmetric cryptographic methods, DES, AES, RSA. Authentication, digital signature, certificates, one-time passwords, hash functions. Practical aspects of information security in operating systems, databases, network applications.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE201 ECTS:7

Abbreviated Title: Security Category: Area Core Course Teaching Language: English

Keywords: software security, information protection

14.

CMPE318 Principles of Programming Languages

Evolution of programming languages and concepts. Syntax and semantics of programming languages. Context-free grammars. Lexical analysis. Syntax analysis. Top-down vs. bottom-up parsing. LR parsing tables. Names, scope and lifetime. Expressions. Statements. Subprogram linkage. Stack implementation of subprogram calls. Parameter passing methods. Object oriented concepts. Implementation of inheritance: virtual method tables. Concurrency. Exception handling. Functional or Logic programming.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMPE211 ECTS:6

Abbreviated Title: Programming Languages Category: Area Core Course Teaching Language: English

Keywords: programming languages

Department offering the course: Computer Engineering

15.

CMPE354 Database Management Systems

This course introduces the student to the fundamentals of database management. Topics covered include: the Entity-Relationship model; the Relational model and its mathematical foundations; most important features of Structured Query Language (including basic structure, aggregate functions, nested queries, index definition, stored procedures and functions, views, database modification, domain constraints, assertions, triggers, transaction definition, data definition language, granting privileges, security), query languages Datalog and QBE; Object-Oriented and Object-Relational databases; design principles of Relational databases (normal forms, functional dependencies, decomposition).



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMPE231 ECTS:6

Abbreviated Title: Database Management Category: Area Core Course Teaching Language: English

Keywords: database management

Department offering the course: Computer Engineering

16.

CMPE371 Analysis of Algorithms

Definition and properties of Algorithms. Design, analysis, and representation of Algorithms. Data abstraction. Pseudo code conventions. Models of computation. Mathematical Foundations: Growth of functions, asymptotic notations. Study of recursive algorithms and associated recurrence relations (substitution method, iteration method, master method, recursion trees). Design paradigms for algorithms: Brute-Force (Exhaustive Search), Divide-and-Conquer (Merge Sort, Binary Search Tree) Dynamic Programming (Matrix-Chain multiplication, LCS-length, 01-Knapsack Problem). Greedy algorithms (Greedy Activity Selector, Fractional Knapsack Problem). Graph Algorithms: Representation of sets and graphs. Breadth-first search, depth-first search. Minimum spanning trees. Single-source shortest paths. All-pairs of shortest paths.



Credits: ( 4 / 0 / 1 ) 4 Prerequisites: CMPE231 ECTS:6

Abbreviated Title: Analysis of Algorithms Category: Area Core Course Teaching Language: English

Keywords: analysis of algorithms

Department offering the course: Computer Engineering

17.

CMSE400 Summer Practice

As a part of the fulfillment of the graduation requirements, all students must complete 40 work days of summer training after the second and/or third year, during summer vacations. The summer training should be carried out in accordance with the rules and regulations set by the department. (3rd/4th year standing)



Credits: ( 0 / 0 / 0 ) 0 Prerequisites: None ECTS:1

Abbreviated Title: Summer Practice Category: Faculty Core Course Teaching Language: English

Keywords: summer practice

18.

CMSE405 Graduation Project I/II

4th academic year students in Software Engineering are required to prepare and present a project under the supervision of a faculty member of the Department. Each student has to prepare a separate (individual) project. The purpose of the project is to develop an understanding of independent research by studying a particular Software Engineering topic. It is an extended exercise in the professional application of the skills and experience gained in the undergraduate program. Topics will be chosen in consultation with faculty members. (4th year standing)



Credits: ( 1 / 0 / 0 ) 1 Prerequisites: None ECTS:2

Abbreviated Title: Graduation Project I/II Category: Area Core Course Teaching Language: English

Keywords: capstone design

19.

CMSE406 Graduation Project II/II

4th academic year students in Software Engineering are required to prepare and present a project under the supervision of a faculty member of the Department. Each student has to prepare a separate (individual) project. The purpose of the project is to develop an understanding of independent research by studying a particular Software Engineering topic. It is an extended exercise in the professional application of the skills and experience gained in the undergraduate program. Topics will be chosen in consultation with faculty members.



Credits: ( 3 / 0 / 1 ) 3 Prerequisites: CMSE405 ECTS:7

Abbreviated Title: Graduation Project II/II Category: Area Core Course Teaching Language: English

Keywords: capstone design

20.

CMSE473 Software Process and Management

Software processes: standards, implementation, and assurance. Project management: requirements management and long-term evolution. Human effort, duration and cost estimation. Planning and tracking projects. Risk analysis, project control, change management.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE321, MATH322 ECTS:5

Abbreviated Title: Software Process and Management Category: Area Core Course Teaching Language: English

Keywords: software process management

21.

CMPE423 Embedded System Design

The objective of the course is to introduce the concept of Harvard + RISC architecture microcontrollers and design of embedded computing systems on typical applications including interrupts, timers, LCD and LED displays, keypads, a/d converters, rotary coders, stepper motors, serial and parallel communication interfacing. The design applications are introduced on a very widely used typical 16-bit embedded microcontroller unit, PIC18F452. The scope of the course is the simple, distinct PIC18F452 embedded system design with the applications in C and RISC assembly programming. The design/theory scale of the course is around 60/40.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE222 ECTS:6

Abbreviated Title: Embedded Design Category: Area Core Course Teaching Language: English

Keywords: embedded systems

Department offering the course: Computer Engineering

22.

CMPE471 Automata Theory

Mathematical preliminaries and basic concepts. Strings, Languages and Grammars. Chomsky hierarchy of grammars. Deterministic and nondeterministic finite automata. Equivalence of deterministic and nondeterministic finite automata. Minimization of finite automata. Regular grammars and regular expressions. Pushdown automata. Context free grammars. Chomsky normal form. Greibach normal form. Correspondence of pushdown automata and context free grammars. Introduction to Parsing.



Credits: ( 4 / 0 / 1 ) 4 Prerequisites: MATH163 ECTS:6

Abbreviated Title: Automata Theory Category: Area Core Course Teaching Language: English

Keywords: automata theory

Department offering the course: Computer Engineering










Course Descriptions – II - English: All area elective courses offered by the department of the program

1.

CMSE412 Formal Specification of Software Systems

Review of mathematical foundations for formal methods. Formal languages and techniques for software system specification and design. Analysis of software specifications and designs. Verification of consistency with requirements. Reliability validation. Automated program and design transformation.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE322 ECTS:6

Abbreviated Title: Formal Specification Category: Area Elective Course Teaching Language: English

Keywords: formal software specification

2.

CMSE414 Software Testing

Testing techniques and principles. Black-box and white-box testing. Testing strategies: Unit testing, boundary testing and integration testing. State based testing, configuration testing, compatibility testing, web site testing. Alpha, beta, and acceptance testing. Test coverage criteria. Testing tools. Developing effective test plans. Problem reporting, tracking, and analysis.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE322 ECTS:6

Abbreviated Title: Testing Category: Area Elective Course Teaching Language: English

Keywords: Software testing

3.

CMSE415 Systems Analysis

Life cycle phases: requirements determination, logical design, physical design, and implementation planning; interpersonal skills, interviewing, presentation skills; group dynamics; risk and feasibility analysis; group-based approaches: project management, joint application development (JAD), and structured walkthroughs; structured versus object oriented methodologies; RAD, prototyping; database design; software package evaluation, global and inter-organizational issues and system integration.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE323 ECTS:6

Abbreviated Title: Systems Analysis Category: Area Elective Course Teaching Language: English

Keywords: Systems analysis

4.

CMSE421 Software Construction

General principles and techniques for disciplined low-level software design. BNF and basic theory of grammars and parsing. Use of parser generators. Basics of language and protocol design. Formal languages. State-transition and table-based software design. Formal methods for software construction. Techniques for handling concurrency and inter-process communication. Techniques for designing numerical software. Tools for model-driven construction. Introduction to Middleware. Hot-spot analysis and performance tuning.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE201 ECTS:6

Abbreviated Title: Software Construction Category: Area Elective Course Teaching Language: English

Keywords: Software construction, formal languages

5.

CMSE422 Software Project Management

Project planning, cost estimation and scheduling. Project management tools. Factors influencing productivity and success. Productivity metrics. Analysis of options and risks. Planning for change. Management of expectations. Release and configuration management. Software process standards and process implementation. Software contracts and intellectual property. Approaches to maintenance and long-term software development. Case studies of real industrial projects.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE323 ECTS:6

Abbreviated Title: Management Category: Area Elective Course Teaching Language: English

Keywords: software project management, software project scheduling

6.

CMSE423 Low-Level Design of Software

Detailed software design and construction in depth. In-depth coverage of design patterns and refactoring. Introduction to formal approaches to design. Analysis of designs based on internal quality criteria. Performance and maintainability improvement. Reverse engineering. Disciplined approaches to design change.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: None ECTS:6

Abbreviated Title: Low-Level Design of Software Category: Area Elective Course Teaching Language: English

Keywords: software design

7.

CMSE439 Human/Computer Interaction

Human factors in computing. Cognitive modeling, user interfaces. Usability engineering. Task analysis, user-centered design, and prototyping. Design of windows, menus, and commands. Voice and natural language I/O. Multimedia systems. User interface architectures and API’s. (This course involves case studies and a term project.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: CMSE201 ECTS:6

Abbreviated Title: Human/Computer Interaction Category: Area Elective Course Teaching Language: English

Keywords: human-computer interaction

8.

CMSE491 Selected Topics in Software Engineering I

This course is to be arranged as seminar course. Students and faculty members participate in studying recent articles published on the research interests of the department.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: None ECTS:6

Abbreviated Title: Software Engineering I Category: Area Elective Course Teaching Language: English

Keywords: software engineering

9.

CMSE492 Selected Topics in Software Engineering II

This course is to be arranged as seminar course. Students and faculty members participate in studying recent articles published on the research interests of the department.



Credits: ( 4 / 1 / 0 ) 4 Prerequisites: None ECTS:6

Abbreviated Title: Software Engineering II Category: Area Elective Course Teaching Language: English

Keywords: software engineering

Yüklə 0,7 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin