Eastern Michigan University
     
 
  CS Home  

 About Us
  Department History
  Values & Goals
  Photos & Video
 Degrees and Courses
  Undergraduate Programs
  Graduate Programs
  Course Descriptions
  Class Schedules
 People
  Faculty  |  Lecturers
  Staff     |  Grad Assistants
  Alumni  |  Open Positions
  In Memoriam
 Student Resources
  Advisors  |  Tutoring
  Co-ops & Internships
  Careers
  Sample Student Projects
 Facilities
  Computer Labs
  Servers
 External Support
  Advisory Committee


Eastern Michigan University
Ypsilanti, MI, USA 48197
University Info: 734-487-1849


 

 

 

 

 

 

 

 

Home >> Course Descriptions >> Graduate Course Descriptions

Graduate Course Descriptions

500 level | 600 level | Other Courses                                                        Printable Version

Prerequisites for graduate courses in this listing reference undergraduate courses in the department of computer science or they reference one of the three prerequisite assessments that are determined for each graduate student at the time of admission to the Computer Science Master's degree program. Each assessment has two possible scores:
0 - unsatisfactory,   1 - satisfactory

VCS1: Student satisfies the admissions requirements to the Computer Science Master's degree program CS.
VCS2: Student satisfies the VCS1 admissions assessment, and student has completed COSC 444 Foundations of Automata and Languages or COSC 541 Automata, Computability, and Formal Languages or equivalent.
VCS3: The student has completed an undergraduate computer science major that includes senior level courses in computer architecture, database, and operating systems.

500 Level

COSC 506 Methods of Teaching Computer Science in Secondary School (3 hrs)
This course encompasses information and materials needed to prepare students for the teaching of computer science in grades seven through twelve. Topics include curricular development, course content, laboratory arrangement, pedagogical methods, security and maintenance of equipment, software selection and evaluation and copyright considerations. In addition, the course presents approaches for dealing with diversity of student abilities and backgrounds, techniques and strategies for teaching problem-solving, algorithm development and program debugging. Time will be spent fitting previous teaching experiences and backgrounds into the computer science class and laboratory environments.

Prereq: VCS1 or both COSC 311 and COSC 221.

COSC 511 Design and Analysis of Algorithms (3 hrs)
Complexity measures of algorithms; searching, sorting, string matching, and graph algorithms; design and analysis of greedy algorithms, backtracking, divide and conquer approach, dynamic programming; NP-complete and NP-hard problems are studied.
Prereq: VCS1 or COSC 314, COSC 311, and MATH 121.

COSC 513 Formal Methods in Software Development (3 hrs)
Principles of logical reasoning and their application to the development of reliable software, propositional and predicate logic, mathematical induction, semantics of control and data structures are studied. Examples are drawn from various applications areas. Emphasis is on the use of formal methods as practical tools that aid in software development.
Prereq: VCS1 or COSC 314, COSC 311, and MATH 121.

COSC 514 Fundamentals of Computer Science I (4 hrs)
An accelerated course covering the content of COSC 211 Programming Data Structures and COSC 311 Algorithms and Data Structures. Includes structured programming, recursion, topics in data structures and an introduction to algorithm analysis.
No credit for COSC 311 or its equivalent.

Prereq: COSC 111 or equivalent.

COSC 515 Fundamentals of Computer Science II (4 hrs)
An accelerated treatment of topics from COSC 221 Computer Organization I and COSC 321 Computer Organization II. Topics include: machine language and arithmetic; assembly language programming; implementation of high-level run time structures; structure of assemblers, loaders, and command interpreters. Logic design and computer architecture.
No credit for COSC 221, COSC 321 or their equivalent.
Prereq: COSC 514 or department permission.

COSC 522 Computer Communication Networks and Distributed System (3 hrs)
A study of networks of interacting computers. Topics covered: principles of data communication; major national and international protocols; models for network design and analysis; local and long-haul networks; distributed processing, distributed databases and distributed operating systems. A laboratory project involving a network of microcomputer systems is included.
Prereq: VCS1 or COSC 314, COSC 311, and COSC 321.

COSC 523 Advanced Computer Organization (3 hrs)
Processor design, fixed and floating point arithmetic processing and non-arithmetic processing are studied. Topics covered: control design and microprogramming; memory organization and input-output; system organization. Case studies will be drawn from computer systems designed to make special types of processing more efficient: stack computers, pipelined processors, and vector computer multiprocessing.
Prereq: VCS1 or COSC 311 and COSC 321.

COSC 527 Wireless Networking Principles (3 hrs)
This course involves the study of wireless communication technologies and standards. Communication issues such as frequency reuse, signal coding, error control coding, and spread spectrum technology as well as technologies including cellular telephony, personal communications systems, and wireless local area networks and international wireless standards will be discussed.
Prereq: MATH 120 and (COSC 439 or COSC 522).

COSC 541 Automata, Computability, and Formal Languages (3 hrs)
A survey of the principal mathematical models of computation and formal languages. Finite automata, regular languages and sets, the Chomsky hierarchy, context-free languages, computability and undecidable problems, computational complexity and NP-completeness are studied.
Prereq: VCS1 or COSC 314 and COSC 311.

COSC 544 Programming in LISP (1 hr)
Introduction to the LISP language with emphasis on artificial intelligence applications. Pure LISP, built-in and user-defined functions, PROG feature, MAP-functionals and property lists.
Prereq: VCS1 or COSC 311 or COSC 514.

COSC 545 Programming in Prolog (1 hr)
An introduction to one of the most widely used languages of artificial intelligence. Topics include Prolog’s inference procedure, assertions of facts and rules, recursion, list structures, functors, the cut, numerical operations, and principles of good Prolog style.
Prereq: VCS1 or COSC 311 or COSC 514.

COSC 552 Human Computer Interaction (3 hrs)
Methods for modeling, designing, implementing and evaluating dialogues between people and computer systems, taking into account modern interface technologies, human limitations and tradeoffs between competing design objectives.
Prereq: VCS2 or COSC 444, or COSC 541.

COSC 556 Advanced Computer Graphics (3 hrs)
Topics covered: mathematics for 3-D graphics; polygon clipping; polygon filling; modeling methods; 3-D transformations; parallel and perspective projections; hidden line and hidden surface removal algorithms; shading and color models.
Prereq: VCS1 or COSC 311, MATH 120, and MATH 122.

COSC 561 Artificial Intelligence (3 hrs)
This course introduces the student to basic concepts and techniques of artificial intelligence. Topics covered: strategies for choosing representations, notational systems and structures; search strategies; control issues; examples of current systems in natural language processing, pattern recognition, problem-solving, learning and information retrieval. Students with no prior knowledge of LISP should take COSC 544 concurrently.

Prereq: VCS2 or COSC 444 or COSC 541.

COSC 562 Information Retrieval and Recommendation (3 hrs)
Explores the fields of information retrieval and recommendation. Searching for and recommending relevant information to a user. Topics include set-theoretic, algebraic, and probabilistic models common to both fields, evaluation of retrieval and recommendation techniques, queries, indexing, and issues related to format (text, multimedia, etc).

Prereq: ((COSC 314 and COSC 311) or ADM) and (MATH 370 or MATH 360).

COSC 571 Database Management Systems Design (3 hrs)
Topics covered: file and data organization techniques; the hierarchical, network, and relational data models with examples; query facilities; data normalization; security and integrity; design and implementation of a simple DBMS system.
Prereq: VCS2 or COSC 341, COSC 321, and either COSC 444 or COSC 541.

COSC 576 Computational Tools for Bioinformatics (3 hrs)
An introduction to tools for programming and data management commonly used in bioinformatics. Topics include Perl programming, bioinformatics programming libraries for Perl and Java, web and data markup languages, and database technology (database design and queries).
Prereq: COSC 514 or COSC 311.

COSC 581 Software Design and Development (3 hrs)
Software engineering techniques for the organization, management, and development of a large software project are studied, including specification, structured design, segmentation and documentation.
Prereq: VCS2 or COSC 341 and either COSC 444 or COSC 541.

COSC 582 Object-Oriented Design (3 hrs)
This course covers the analysis and design aspects of a software development process from an object-oriented perspective. The Unified Software Development Process along with the Unified Modeling Language (UML) will be used for modeling software systems. Requirements gathering and planning activities will be dealt with only from a modeling perspective.
Prereq: COSC 481 or COSC 581.

COSC 590/591/592 Special Topics (1/2/3 hrs)
A graduate level course in a specific area of computer science to be determined by the field of specialization of the instructor and the interest of the students. Not more than six hours of special topics may be used on a degree program.
Prereq: Six hours of graduate computer science courses and department permission.

COSC 597/598/599 Independent Study (1/2/3 hrs)
An intensive study of a problem or implementation of a project under the direction of a member of the computer science faculty.
Prereq: Six hours of graduate computer science courses and department permission.
Top     

600 Level

COSC 612 Parallel Algorithms (3 hrs)
A course in design and analysis of algorithms for parallel programming. Sorting, searching, matrix multiplication, graph theory, and other fundamental areas of computation are considered for parallel program design.
Prereq: COSC 511.

COSC 616 Algorithms in Bioinformatics (3 hrs)
Coverage of fundamental algorithmic techniques used to solve problems in bioinformatics, relating to DNA sequences, microarrays, and evolutionary computations. Also, covers intractability of biological problems, and techniques to deal with intractability.
Prereq: COSC 576 or COSC 511 or COSC 513 or COSC 541.

COSC 623 Advanced Operating Systems (3 hrs)
Selected topics from areas such as concurrent processing, memory management, resource allocation and scheduling, multiprocessing and multiprogramming, protection, performance evaluation and modeling will be covered in depth.
Prereq: VCS3 or COSC 314 and COSC 423.

COSC 625 Real Time Processing (3 hrs)
An introduction to the problems, concepts and techniques involved in computer systems that must interface with external devices; computer characteristics needed for real time use, operating system considerations, analog signal processing and conversion, and inter-computer communication. Students will be involved in several laboratory projects involving a mini- or microcomputer system.
Prereq: VCS3 or COSC 423 and either COSC 422 or COSC 523.

COSC 631 E-Commerce and Web Database Infrastructure (3 hrs)
This course involves the study of the technical details necessary for building electronic commerce systems and web databases. Such technical details include the operating system, web and database servers, client/server communications, security issues, audit trails, payment systems and modern web application programming languages.
Prereq: COSC 436 or COSC 471 or COSC 571 or COSC 439 or COSC 522.

COSC 645 Advanced Compiler Construction (3hrs)
An introduction to the major methods of compiler implementation. These include: lexical analysis, LL and LR parsing, semantic analysis and code generation, error detection and recovery, and code optimization. Compiler engineering techniques including portability, validation and the use of automated compiler-writing tools are also studied. Course project will involve implementation of a compiler.
Prereq: COSC 445 and COSC 541.

COSC 653 Software Requirements Engineering (3hrs)
This course teaches the student how to determine clients' software needs, formally specify operations and data, quantitatively assess risks involved in a software project, estimate resources necessary to create software, coordinate a requirements team, measure and evaluate requirements documents, and investigate current research issues in this field.
Prereq: COSC 481 or COSC 581.

COSC 661 Automated Reasoning (3 hrs)
A theoretical and practical survey of different reasoning techniques, both classical and non-classical, and methods for implementing them as computer programs. Topics will include resolution proofs, fuzzy logic, non-monotonic reasoning, default reasoning and uncertainty measures. Applications will include expert systems.
Prereq: COSC 461 or COSC 561.

COSC 662 Seminar (1 hr)
A graduate-level seminar in specialized concentration areas.
Prereq: 12 of graduate computer science courses and department permission.

COSC 663 Fuzzy Logic and Design of Fuzzy Systems (3 hrs)
An applied and theoretical treatment of fuzzy logic concepts. Discrete and continuous representations of fuzzy sets and fuzzy operations. Types of fuzzy reasoning, their computational and logic consistency, and stability in fuzzy systems. Design of fuzzy systems in a variety of case studies such as controllers, traffic simulations, pattern recognition.
Prereq: COSC 511 or COSC 513 or COSC 541.

COSC 667 Machine Learning and Data Mining (3 hrs)
Introduction to the theory and practice of automated data discovery and inference over large data sets. Students will implement various automated learning algorithms and learn the impact of inductive bias, overfitting and data representation on these algorithms. Applications covered include information retrieval, genetic sequencing and web based mining.
Prereq: MATH 120 and MATH 360 and (COSC 471 or COSC 561).

COSC 671 Advanced Topics in DBMS (3 hrs)
Advanced topics in database principles. Higher normalizations, query optimization, triggers and active databases, transaction control, object-oriented database model, issues in distributed and parallel database, multidimensional indexing, inexact indexing.
Prereq: COSC 471 or COSC 571.

COSC 679/680/681 Special Topics (1/2/3 hrs)
A graduate level course in a specific area of computer science to be determined by the field of specialization of the instructor and the interest of the students.
Prereq: 12 hours of graduate computer science courses and department permission.

COSC 683 Software Engineering Practicum (3 hrs)
Working in a software project team, students will develop a large software system, carrying the project through from requirements analysis to acceptance testing. Teams will analyze live problems, that is, projects selected for their functionality to the user(s) involved. This is a laboratory course with formal class meetings only for the distribution of projects.
Prereq: 18 hours of graduate computer science courses and department permission.

COSC 685 Software Quality Assurance (3 hrs)
This course covers various techniques for assessing the quality of software. Topics include types of testing techniques, inspection and technical review, complexity measures, and test planning, design and execution. An introduction to one or more software testing automation tools will also be covered.
Prereq: COSC 481 or COSC 581.

COSC 690/691/692 Thesis (1/2/3 hrs)
Intensive research into a computer science problem and the preparation of a report consistent in substance and form with the standards of the discipline.
Prereq: 18 hours of graduate computer science courses and department permission.

COSC 697/698/699 Independent Study (1/2/3 hrs)
An intensive study of a problem or implementation of a project under the direction of a member of the computer science faculty.
Prereq: 12 hours of graduate computer science courses and department permission.

CASI 650 Current Challenges in Bioinformatics Seminar (3 hrs)
This course provides an opportunity for students to work in teams on real-life problems of bioinformatics. Students will apply their teambuilding skills to solve problems provided by biotechnology and pharmaceutical companies. This course is specifically designed for students enrolled in the Professional Master's in Bioinformatics program.
Prereq: Department permission.

CASI 680 Internship in Bioinformatics (3 hrs)
This course provides an introduction to applied bioinformatics in a non-academic, for-profit environment. Students have an opportunity to apply their technical, communication, and teambuilding skills in biotechnology and pharmaceutical companies of all sizes. This course is specifically designed for students enrolled in the Professional Master's in Bioinformatics Program.
Prereq: Department permission.
Top     

Undergraduate courses for graduate credit

The following courses may be elected for graduate credit; course descriptions may be found in the undergraduate catalog. A maximum of nine hours of approved 400-level course work may be permitted in the earning of any graduate degree.

If you intend to enroll in any of the following undergraduate courses for graduate credit, you must submit a request form from the Graduate School to receive permission before enrolling in the course; otherwise, you will receive undergraduate credit.

COSC 403 Seminar and Project Design for Educators (3 hrs)
COSC 405 Switching Theory (3 hrs)
COSC 421 Systems Programming (3 hrs)
COSC 422 Introduction to Microprocessors (3 hrs)
COSC 423 Computer Operating Systems (3 hrs)
COSC 439 Computing Network Principles (3 hrs)
COSC 445 Compiler Construction (3 hrs)
COSC 456 Microcomputer Graphics (3 hrs)
COSC 461 Heuristic Programming (3 hrs)
COSC 471 Database Principles (3 hrs)
COSC 481 Software Engineering and Senior Project (3 hrs)

Top