COMPUTER SCIENCE / MATHEMATICS

MCS0054 Intermediate Algebra/Geometry

MCS0055 Essential Algebra and Analytical Geometry

MCS0085 College Algebra and Analytical Geometry

MCS1003 Introduction to Computer Applications

MCS1023 Technical Computer Applications

MCS1102 Introduction to Fortran

MCS1113 Technical Mathematics 1

MCS1123 Technical Mathematics 2

MCS1214 Introduction to Mathematical Analysis 1

MCS1224 Introduction to Mathematical Analysis 2

MCS1524 Introduction to Discrete Mathematics

MCS1623 Introduction to Visual Basic

MCS1632 Introduction to Programming

MCS2323 Applied Differential Equations

MCS2423 Differential Equations

MCS3403 Probability and Statistics

MCS3413 Advanced Engineering Mathematics

MCS3503 Computer Graphics Programming

MCS3523 Mathematical Modelling

MCS3543 Introduction to Database Systems

MCS3623 Unix System Operation and Programming

MCS3633 Introduction to Functional Programming

MCS3663 Computer Architecture and Assembly Programming

MCS3673 Network System Administration

MCS3733 Partial Differential Equations

MCS4623 Introduction to Software Engineering

MCS4633 Artificial Intelligence

MCS4643 Comparative Programming Languages

MCS4981-3 Directed Study in Math/Computer Science

MCS4993 Topics in Math/Computer Science

MCS5003 Essentials of Computer Science

MCS5013 Web Server Programming

MCS5043 Programming Language Implementation

MCS5203 Introduction to Computer Graphics

MCS5213 Computational Geometry

MCS5223 Computer Aided Geometric Design

MCS5233 Introduction to Theory of Computation

MCS5303 Introduction to Database Systems

MCS5523 Virtual Environment and Scientific Visualization

MCS5703 Introduction to Distributed Computing

**COOPERATIVE EDUCATION IN MATH/COMPUTER SCIENCE Course Descriptions**

**MCS0023 BASIC MATHEMATICS**Prerequisite: 0. Fundamental operations of arithmetic, fractions, decimals, percentage, conversion of units, simple trigonometry, algebra, solving equations in one unknown, ratio and proportion. Lect. 3 hrs. 3 hours credit

**MCS0035 ESSENTIAL MATHEMATICS**Prerequisite: Placement or permission of department chair. Review of arithmetic operations as a basis for understanding algebraic operations. Algebra of exponents, polynomials, factoring and rational expressions. Solving linear equations and word problems. Graphing linear equations. Study skills, collaborative learning and lab work will be stressed. Lect. 5 hrs., Lab 3 hrs. 5 hours credit

**MCS0044 BASIC ALGEBRA**Prerequisite: 0. Review of fractions, decimals, percentage, and absolute value. Algebra of exponents, polynomials, factoring, and rational expressions. Solving linear equations and word problems, and graphing of lines. Instruction will emphasize the development of math study skills and will include collaborative learning. Lect. 4 hrs., Lab 1 hr. 4 hours credit

**MCS0054 INTERMEDIATE ALGEBRA/GEOMETRY**Prerequisite: Placement, or MCS0023, or MCS0044, or MCS0035. Fundamental operations, factoring, exponents, radical, linear equations, rectangular coordinates and graphing, systems of linear equations, introduction to quadratic equations, fundamental concepts and formulas of geometry. Students should keep the 5th hour in the same class period available for exams and study sessions. Lect. 4 hrs. 4 hours credit

**MCS0055 ESSENTIAL ALGEBRA AND ANALYTICAL GEOMETRY**Prerequisite: MCS0035 or placement. Continuation of MCS0035 improving and extending skills in factoring, exponents, radicals. Graphing using the rectangular coordinates system. Quadratic equations, formulas, graphing. Collaborative learning, lab work and continued focus on successful study habits will be stressed. Lect. 5 hrs., Lab 3 hours 3 hours credit

**MCS0060 ALGEBRA WORKSHOP**Prerequisite: Placement or permission of department chair. This workshop first assesses each student’s level of algebraic ability and then introduces the algebraic problems to fit his/her specific needs. Problems are presented using a variety of methods, and the students solve them individually and in group sessions. Upon successful completion of the workshop, students will receive a new placement in mathematics. Lab. 4 hrs. 0 hours credit

**MCS0074 PRECALCULUS**Prerequisite: Placement. Quadratic equations, functions and graphs, systems of equations, theory of equations, inequalities, logarithms, trigonometric definitions, identities, equations. (This course is a faster-paced version of MCS0083 AND MCS0093 combined. Students should keep the 5th hour in the same class period available for exams and study sessions.) Lect. 4 hrs. 4 hours credit

**MCS0083 COLLEGE ALGEBRA**Prerequisite: MCS0054 or MCS0055 or placement. Covers that part of MCS0074 which does not involve trigonometry. Lect. 3 hrs. 3 hours credit

**MCS0085 COLLEGE ALGEBRA AND ANALYTICAL GEOMETRY**Prerequisite: MCS0055. Continuation of MCS0055. Quadratic equations, functions, graphs, systems of equations, theory of equations, inequalities. Successful completion prepares the student for MCS0093 Trigonometry. Lect. 5 hrs., Lab 3 hours 3 hours credit

**MCS0093 TRIGONOMETRY**Prerequisite: MCS0083, MCS0085, or placement. Covers that part of MCS0074 involving trigonometry and logarithms. Lect. 3 hrs. 3 hours credit

**MCS1003 INTRODUCTION TO COMPUTER APPLICATIONS**Prerequisite: 0. Introduction to applications involving use of a computer. E-mail, word processing, spreadsheets, data base applications, presentation software. (This course is required of those who do not successfully demonstrate knowledge of these topics upon entry to Lawrence Tech. No credit for mathematics/computer science majors.) Lect. 3 hrs. 3 hours credit

**MCS1023 TECHNICAL COMPUTER APPLICATIONS**Prerequisite: 0. Introduction to computers and computer programming. Spreadsheet software will be utilized for a portion of the course. (For engineering technology students only.) Lect./Lab. 3 hrs. 3 hours credit

**MCS1102 INTRODUCTION TO FORTRAN**Prerequisite: Computer placement or MCS1003; co-requisite: MCS0074, MCS0083, MCS0085, MCS1214 or math placement. Introduction to programming in FORTRAN. Assignment statements, choice of alternatives, arrays, loops, introduction to subroutines. Lect. 2 hrs. 2 hours credit

**MCS1113 TECHNICAL MATHEMATICS 1**Prerequisite: Placement, or MCS0023, or MCS0044, or MCS0035. Fundamental operations, functions and graphs, trigonometric functions with right angle applications, systems of linear equations, factoring, fractions, quadratic equations, radian measure, general trigonometric functions. (For engineering technology students only.) Lect. 3 hrs. 3 hours credit.

**MCS1123 TECHNICAL MATHEMATICS 2**Prerequisite: MCS1113. Vectors, oblique triangles, graphs of trigonometric functions, exponents, radicals, logarithms, determinants, matrices. (For engineering technology students only.) Lect. 3 hrs. 3 hours credit.

**MCS1142 INTRODUCTION TO C**Prerequisite: Computer placement or MCS1003; co-requisite: MCS0074, MCS0083, MCS0085, MCS1214, or math placement. An introduction to the C programming language: arrays, functions, file operations, and simple pointer types. Lect. 2 hrs. 2 hours credit

**MCS1203 LOGIC**Prerequisite: Placement. Introduction to deductive and inductive logic. Aristotelian logic, truth functions and truth tables, formal deductions, analysis of fallacies, inductive reasoning. (No credit for mathematics/ computer science majors.) Lect. 3 hrs. 3 hours credit.

**MCS1214 INTRODUCTION TO MATHEMATICAL ANALYSIS 1**Prerequisite: Placement, or MCS0054, or MCS0055. Equations and inequalities, functions and graphs, lines, parabolas, systems of equations, exponential and logarithmic functions, mathematics of finance, matrix algebra, linear programming. Introduction to trigonometry. Lect. 4 hrs. 4 hours credit

**MCS1224 INTRODUCTION TO MATHEMATICAL ANALYSIS 2**Prerequisite: Placement, MCS1214, or MCS0083, or MCS0085. Limits and continuity, differentiation, curve sketching, applications of differentiation, integration, methods and applications of integration, multivariable calculus. Lect. 4 hrs. 4 hours credit

**MCS1254 GEOMETRY IN ART**Prerequisite: Placement, MCS0055 or MCS0054. Diverse geometrical applications of mathematical concepts, linking the symbolic representation to the visual representation. Examples from the arts and architecture; computer applications. Topics covered may include conic sections, perspective, symmetry, tilings, shading of objects, fractals, trigonometry. Lect. 4 hrs. 4 hours credit

**MCS1414 CALCULUS 1**Prerequisite: Placement, MCS0074, or MCS0083 and MCS0093, or MCS0085 and MCS0093. Limits and continuity, differentiation of algebraic and trigonometric functions, mean value theorem, applications of differentiation, antiderivatives, indefinite integrals, substitutions, definite integrals, the Fundamental Theorem of Calculus, applications of integration. Lect. 4 hrs. 4 hours credit

**MCS1424 CALCULUS 2**Prerequisite: MCS1414. Calculus of transcendental functions, l’Hospital’s rule, techniques of integration, application to arc length and surface area, infinite series. Lect. 4 hrs. 4 hours credit

**MCS1514 COMPUTER SCIENCE 1**Prerequisite: MCS1102 or MCS1142 or MCS1603 or programming experience, and math placement, MCS0054 or MCS0055. Introduction to computer science. Simple, iterative, and conditional statements. Enumerated variable types, procedures and functions, single and multidimensional arrays, bubble sort, linear search, simple file input/output (sequential). Lect. 3 hrs. Lab. 1 hr. 4 hours credit

**MCS1524 INTRODUCTION TO DISCRETE MATHEMATICS**Prerequisite: Placement, MCS0083, or MCS0085. Logic and logic operators, proofs; sets and relations, functions; the integers, modular arithmetic, bases; induction and recursion, principles of counting, permutations and combinations, algorithms. Lect. 4 hrs. 4 hours credit

**MCS1603 COBOL**Prerequisite: Placement or MCS1003. Introduction to COBOL programming; the study of the COBOL language and business applications. Sequential, random, and indexed file design and processing, keying schemes, subroutines, and the COBOL library facility. Emphasis on structured programming. Lect. 3 hrs. 3 hours credit

**MCS1623 INTRODUCTION TO VISUAL BASIC**Prerequisite: Placement or MCS1003. Visual Basic integrated development environment (IDE) and its wealth of development tools, the use of the debugging and testing tools available in Visual Studio, business applications, design strategy for maintainability and reusability, building effective user interfaces with Visual Basic controls, forms, and other GUI components, Database access. Lect. 3 hrs. 3 hours credit

**MCS1632 INTRODUCTION TO PROGRAMMING**Prerequisite: Placement, MCS0083, or MCS0085. Introductory course in programming constructs, conditional statements, loops, branching and subroutines. No previous programming is assumed. (Credit cannot be earned for both this course and any other introductory programming course: MCS1102, MCS1142, MCS1603, MCS1623.) Lect. ?? hrs. 2 hours credit

**MCS2023 STATISTICAL METHODS**Prerequisite: MCS1123 or MCS1214. Introduction to the theory of statistics and some of its applications, use of mathematical models to predict outcomes, data representation, probability, sampling theoretical distributions, estimating, correlation, time series, number usage. (For engineering technology students only.) Lect. 3 hrs. 3 hours credit.

**MCS2113 STATISTICS 1**Prerequisite: MCS1224 or MCS2313. Frequency distributions, descriptive measures of populations and samples, probability, discrete and continuous probability distributions, payoff tables, Bayes’ theorem, decision theory. Lect. 3 hrs. 3 hours credit

**MCS2123 STATISTICS 2**Prerequisites: MCS2113. The central limit theorem, estimation of means, hypothesis testing, goodness of fit, regression and correlation analysis, statistical computer software. Lect. 3 hrs. 3 hours credit

**MCS2313 TECHNICAL CALCULUS**Prerequisite: MCS1123. Introduction to plane analytic geometry, basic concepts of calculus, derivatives of simple functions, tangents, curve sketching, indefinite and definite integrals. (For engineering technology students only.) Lect. 3 hrs. 3 hours credit.

**MCS2323 APPLIED DIFFERENTIAL EQUATIONS**Prerequisites: MCS1023 and MCS2313. Introduction to differential equations, differential equations with initial values, numerical methods. The computer is used as a tool throughout the course. (For engineering technology students only.) Lect. 3 hrs. 3 hours credit.

**MCS2414 CALCULUS 3**Prerequisite: MCS1424. Polar coordinates, three-dimensional analytic geometry. Vectors, vector-valued functions, motion in space, functions of several variables, partial differentiation, multiple integrals, integration in vector fields. Lect. 4 hrs. 4 hours credit

**MCS2423 DIFFERENTIAL EQUATIONS**Prerequisite: MCS2414. Ordinary differential equations including principal types of first order equations. Techniques of solution of higher order linear equations with constant coefficients. Applications of first order and higher order equations. Introduction to Laplace transforms. Systems of linear differential equations. Lect. 3 hrs. 3 hours credit

**MCS2513 P.R. COMPUTER SCIENCE**Prerequisite: Restricted to students in the Pacific Rim program. Programming, Simple, iterative and conditional statements. Data types, procedures, and functions. Arrays. File input/output. Classes and methods. Introduction to data structures, linked lists, trees, queues. Sorting and searching. Lect. 4 hrs. 3 hours credit

**MCS2514 COMPUTER SCIENCE 2**Prerequisite: MCS1514. Records, advanced file input/output (random access), dynamic memory allocation. Static and dynamic implementation of stacks, linked lists (ordered and unordered), queues (regular and priority), circular queues. Selection and insertion sort, binary search. Lect. 3 hrs., Lab. 1 hr. 4 hours credit

**MCS2523 DISCRETE MATHEMATICS**Prerequisite: MCS1514, and either MCS1424 or MCS1524. Number theory, review of induction and recursion, advanced counting, equivalence, partial ordering, graphs, trees. Lect. 4 hrs. 3 hours credit

**MCS2533 P.R. DATA STRUCTURES**Prerequisite: Restricted to students in the Pacific Rim program. Continuation of MCS2513. Analysis of algorithms, big Oh notation, asymptotic behavior. Advanced sorting, external sorting. Binary, multiway and AVL trees. Lect. 4 hrs. 3 hours credit

**MCS2534 DATA STRUCTURES**Prerequisite: MCS2514 and MCS2523. Analysis of algorithms, Big Oh notation, asymptotic behavior. Advanced sorting (heapsort, quicksort), external sorting. Binary, multiway, and AVL trees. Lect. 4 hrs. 4 hours credit

**MCS2613 C**Co-requisite: MCS2514. Programming using the C language. Emphasis on functions, pointers, arrays, and structures. Bitwise expressions, the pre-processor, storage classes, ragged arrays. Lect. 3 hrs. 3 hours credit

**MCS3403 PROBABILITY AND STATISTICS**Prerequisite: MCS2414. Representation of data, probability, random variables, discrete and continuous distributions, sampling theory, central limit theorem, confidence intervals, tests of statistical hypotheses, regression analysis. Lect. 3 hrs. 3 hours credit

**MCS3413 ADVANCED ENGINEERING MATHEMATICS**Prerequisite: MCS2423. Laplace transforms of continuous and piecewise continuous functions, inverse Laplace transforms, applications to ordinary differential equations. Complex variables, analytic functions, Laurent expansions, residue theory with applications, complex inversion integral and convolution integral. Lect. 3 hrs. 3 hours credit

**MCS3503 COMPUTER GRAPHICS PROGRAMMING**Prerequisite: MCS2534.Application programming interfaces; interactive computer graphics; two- and three-dimensional representation and transformation; viewing and perspective projections; shading with illumination and material. Lect. 3 hrs. 3 hours credit

**MCS3513 ASSEMBLER**Prerequisite: MCS2514. Machine and assembly language programming. Addressing modes, macros, and subroutines. Lect. 3 hrs. 3 hours credit

**MCS3523 MATHEMATICAL MODELLING**Prerequisites:MCS1142, MCS1514 or EGE101/1202/1301; MCS2414 plus atleast one of MCS3403, MCS2423, or MCS3863 or permission of instructor. Building and analysing mathematical and computer models of various systems.Optimization,dynamucal systems, and probability models. Team projects, written and oral projects. Lect. 3 hrs. 3 hours credit

**MCS3543 INTRODUCTION TO DATABASE SYSTEMS**Prerequisite: MCS1514. Organization of database systems. Data definition, retrieval, manipulation. Relational data bases, SQL. Practice using standard databases. Lect. 3 hrs. 3 hours credit

**MCS3603 JAVA**Prerequisite: MCS1514. Introduction to Java; comparing Java to C++, Java building elements: control structures, methods, object-oriented programming, arrays and strings, inheritance, graphics programming, applets, multithreading and multimedia. Lect. 3 hrs. 3 hours credit

**MCS3613 C++**Prerequisite: MCS1142. Object-oriented programming techniques introduced through the language C++. Lect. 3 hrs. 3 hours credit

**MCS3623 UNIX SYSTEM OPERATION AND PROGRAMMING**Prerequisite: MCS1514. Unix standardization and implementations, files and directories, standard I/O library, system data files and implementations, process control, process relationship, signals, advanced I/O. Daemon processes, inter-process communication. Lect. 3 hrs. 3 hours credit

**MCS3633 INTRODUCTION TO FUNCTIONAL PROGRAMMING**Prerequisite: MCS1514. An introduction to functional programming. Induction and recursion, symbolic computation, higher-order functions, polymorphism, data abstraction and modularity, invariants, demand-driven programming, exception handling, and computability. Lect. 3 hrs. 3 hours credit

**MCS3653 COMPUTER ARCHITECTURE**Prerequisite: MCS3513. Detailed study of the organization and structure of modern computer systems. Lect. 3 hrs. 3 hours credit

**MCS3663 COMPUTER ARCHITECTURE AND ASSEMBLY PROGRAMMING**Prerequisite: MCS2514. Basic structure of computer hardware and assembly programming. Internal representations, processing unit arithmetic, memory addressing modes, stack processing, CISC, RISC. Lect. 3 hrs. 3 hours credit

**MCS3673 NETWORK SYSTEM ADMINISTRATION**Prerequisite: MCS1514. Introduction to network systems, daemons, booting the system, policy, NFS, NIS, serial lines, disks, kernal configurations, Internet, USEnet, www, FTP, electronic mail, resource management, performance analysis, accounting, system logging, security, backups, hackers and padlocks. Lect. 3 hrs. 3 hours credit

**MCS3723 ADVANCED CALCULUS**Prerequisite: MCS2423. Line and surface integrals, Green’s Theorem, Stokes’ Theorem, Divergence Theorem. Topics from differential and integral calculus theory. Power series solutions of differential equations. Bessel functions, Legendre’s equation. Lect. 3 hrs. 3 hours credit

**MCS3733 PARTIAL DIFFERENTIAL EQUATIONS**Prerequisite: MCS2423. Orthogonality, orthonormal bases, Fourier series, Fourier integral. Solution techniques for first and second order equations. Solutions of homogeneous and non-homogeneous boundary value problems. Sturm-Liouville theory. Lect. 3 hrs. 3 hours credit

**MCS3743 COMPLEX ANALYSIS**Prerequisite: MCS2423. Complex numbers. DeMoivres Theorem. Complex variables, analytic functions, Cauchy-Riemann equations, Laurent expansions, contour integration, residue theory. Lect. 3 hrs. 3 hours credit

**MCS3863 LINEAR ALGEBRA**Prerequisite: MCS2414. Systems of linear equations, matrices, determinants, eigenvalues, eigenvectors. Finite-dimensional vector spaces, linear transformations and their matrices, Gram-Schmidt orthogonalization, inner product spaces. Lect. 3 hrs. 3 hours credit

**MCS4613 COMPUTER NETWORKS**Prerequisite: MCS3663. Transmission media, local asynchronous communication (RS232), long distance communication, packets, frames, error detection, LAN technologies, network topologies, hardware addressing, LAN wiring, physical topologies, interface hardware, extending LANs, fiber modems, repeaters, bridges and switches, WAN topologies and routing. Lect. 3 hrs. 3 hours credit

**MCS4623 INTRODUCTION TO SOFTWARE ENGINEERING**Prerequisite: MCS2514. Introduction to software engineering emphasizing technical concepts, team management, and product performance. Analysis, design, implementation, verification, validation, and maintenance of software. Lect. 3 hrs. 3 hours credit

**MCS4633 ARTIFICIAL INTELLIGENCE**Prerequisite: MCS2534. Introduction to artificial intelligence. Knowledge representation and acquisition, decision trees, logic programming, non-deterministic and non-algorithmic problem solving, forward and backward chaining, symbol processing, predicate logic. Expert systems. Lect. 3 hrs. 3 hours credit

**MCS4643 COMPARATIVE PROGRAMMING LANGUAGES**Prerequisites: MCS2534. A survey of different types of programming languages done by comparing and contrasting the underlying concepts of their design and use. Information hiding, data abstraction, modularity. Lect. 3 hrs. 3 hours credit

**MCS4653 THEORY OF COMPUTATION**Prerequisite: MCS2523. Beginning course on theory of computation. Regular languages, finite automata, context-free languages, Turing Machine, Chomsky hierarchy, applications to parsing. Lect. 3 hrs. 3 hours credit

**MCS4663 OPERATING SYSTEMS**Prerequisite: MCS3653 or MCS3663. Principles of operating systems. Storage management, interrupts, paging, swapping, protection, file management. Lect. 3 hrs. 3 hours credit

**MCS4813 NUMERICAL ANALYSIS 1**Prerequisite: MCS1102 or MCS1142, and MCS2423. Approximation and error. Roots of equations, approximation of algebraic and transcendental functions, differentiation, indefinite and definite integration. Quadrature, interpolation. Lect. 3 hrs. 3 hours credit

**MCS4823 NUMERICAL ANALYSIS 2**Prerequisite: MCS4813. Numerical techniques for the solution of ordinary differential equations, matrix exponential computations, matrix inversion. Selected topics. Lect. 3 hrs. 3 hours credit

**MCS4833 SENIOR PROJECT**Prerequisite: Permission of department chair. Intensive study of special problems in software system development. Students participate in specifying, designing, developing, coding, and testing of complex software systems. Emphasis on team development of projects. Lect. 3 hrs. 3 hours credit

**MCS4863 MODERN ALGEBRA**Prerequisite: MCS3863. Introduction to algebraic systems. Groups, homomorphisms, isomorphisms, subgroups, normal subgroups, factor groups. Rings and ideals, integral domains, fields. The real number system. Lect. 3 hrs. 3 hours credit

**MCS4981-3 DIRECTED STUDY IN MATH/COMPUTER SCIENCE**Prerequisite: Permission of department chair. By arrangement. 1-3 hours credit

**MCS4993 TOPICS IN MATH/COMPUTER SCIENCE**Prerequisite: Permission of department chair. Topics of current interest in mathematics and computer science. (May be taken more than once if the topic is different.) Lect. 3 hrs. 3 hours credit

**MCS5003 ESSENTIALS OF COMPUTER SCIENCE**Prerequisite: Permission of department chair and approximately five years of professional software development. Concepts of computer science for the experienced software developer. Topics from MCS1514, MCS2514, MCS2523, MCS2534, and MCS3663 are highlighted. Lect. 3 hrs. 3 hours credit

**MCS5013 WEB SERVER PROGRAMMING**Prerequisite: Permission of department chair. Introduction to the Web-server basis; Web authoring using HTML; Advanced Web authoring with dynamic HTML, XML; JavaScript programming; CGI programming in C, C++ and Perl. Introduction to ASP and the middle tier. Lect. 3 hrs. 3 hours credit

**MCS5023 JAVA PROGRAMMING**Prerequisite: Permission of department chair. An advanced course in Java programming. Advanced multi-threading, multimedia and graphics. Networking and RMI. Database access with Java. Java Beans and EJB. Servlets and JSP. Multi-tier application development using CORBA. Java and embedded systems. JINI. Current topics in Java technology. Lect. 3 hrs. 3 hours credit

**MCS5033 OBJECT COMPUTING**Prerequisite: Permission of department chair. Introduction to the fundamental concepts of building reusable software components and applications using COM and DCOM architecture. Programming with COM. Building and using ActiveX controls. Using MFC to build COM clients and servers. Using automation. Using ATL to create COM clients and servers. Programming with DCOM. Introduction to CORBA. Lect. 3 hrs. 3 hours credit

**MCS5043 PROGRAMMING LANGUAGE IMPLEMENTATION**Prerequisite: Permission of department chair. Substantial programming experience is required. Issues associated with the design and implementation of higher-level programming languages. Concentrations are theory behind different components of a compiler, programming techniques used to put the theory into practice, and the interfaces used to modularize the compiler. Course project on compiler design and implementation. Lect. 3 hrs. 3 hours credit

**MCS5053 COMPUTABILITY**Prerequisite: Permission of department chair. The second course on theory of computation. Introduces decidability, computability, and computational complexity. Church’s Thesis; undecidability; reducibility and completeness; recursive functions; time complexity and NP-completeness. Lect. 3 hrs. 3 hours credit

**MCS5083 VISUAL PROGRAMMING**Prerequisite: Permission of department chair. Introduction to Windows programming. Principles of human-computer interaction. Graphical user interface programming. Event driven programming. Developing help systems. Evaluation techniques. Windows programming environments such as MFC and UNIX. Introduction to various RAD tools. Lect. 3 hrs. 3 hours credit

**MCS5103 SOFTWARE ENGINEERING**Prerequisite: Permission of department chair. Selection of programming language; debugging techniques and tools; program maintenance; software economics; team programming and its application to projects; software life cycle. Lect. 3 hrs. 3 hours credit

**MCS5203 INTRODUCTION TO COMPUTER GRAPHICS**Prerequisite: Permission of department chair. Introduction to fundamental computer graphics issues, hardware, algorithms, and software. Scan-conversion line generators; scan-line polygon; affine transformation; viewing and clipping; illumination and rendering; solid modeling; curves and surfaces; texture mapping; collision detection; animation; issues of virtual environments applications. Lect. 3 hrs. 3 hours credit

**MCS5213 COMPUTATIONAL GEOMETRY**Prerequisite: Permission of department chair. Implicit and explicit representations of curves in the plane; vectors and transformations; curves and surfaces in space. Splines and other representations. Computational issues in intersection, minimum distance, edge detection and projection algorithms. Lect. 3 hrs. 3 hours credit

**MCS5223 COMPUTER AIDED GEOMETRIC DESIGN**Prerequisite: Permission of department chair. Bezier and NURBS representations of curves and surfaces. Properties of B-Splines and resulting algorithms. Designing curves and surfaces. Issues surrounding topology, trimmed surfaces and triangulation. Other representations. Lect. 3 hrs. 3 hours credit

**MCS5233 INTRODUCTION TO THEORY OF COMPUTATION**Prerequisite: Permission of department chair. A beginning course on theory of computation. Regular languages; finite automata; context-free languages; turing machine; Chomsky hierarchy; applications to parsing. Lect. 3 hrs. 3 hours credit

**MCS5303 INTRODUCTION TO DATABASE SYSTEMS**Prerequisite: Permission of department chair. Design and implementation of relational, hierarchical and network database systems. Query/update data languages, conceptual data model, physical storage methods, database system architecture and normal forms. Database security and integrity. Relational database systems are emphasized. A project involving an on-line database system is normally assigned. No credit given after MIS6113. Lect. 3 hrs. 3 hours credit

**MCS5403 ROBOTICS PROGRAMMING**Prerequisite: Permission of department chair. Characteristics of real-time computing. Introduction to robotics, control theories, modeling finite state machines, design methodologies for real-time systems, process synchronization using semaphores, Lego robots and developing robot programs using various programming languages and different real-time operating systems for autonomous mobile robots such as Khepera and Lego RIS. Lect. 3 hrs. 3 hours credit

**MCS5503 INTELLIGENT SYSTEMS**Prerequisite: Permission of department chair. Introduction to artificial intelligence and computational intelligence. Problem solving by searching. Optimization methods. Knowledge representation and reasoning. Machine learning. Multi-agent systems. Pattern recognition. Introduction to evolutionary computation. Introduction to artificial neural networks. Fuzzy logic. Lect. 3 hrs. 3 hours credit

**MCS5523 VIRTUAL ENVIRONMENT AND SCIENTIFIC VISUALIZATION**Prerequisite: Permission of department chair and technical proficiency in one of: architecture design, programming, modeling, or painting. A project based hands-on course. Teams with members of varied backgrounds build immersive virtual worlds to solve real world scientific visualizations problems. Lect. 3 hrs. 3 hours credit

**MCS5703 INTRODUCTION TO DISTRIBUTED COMPUTING**Prerequisite: Permission of department chair. Introduction to data communications, network models, topologies and structures. Includes the OSI model, transport mediums (routers, bridges, gateways), and an overview of communication protocols, particularly TCP/IP. Lect 3 hrs. 3 hours credit

**COOPERATIVE EDUCATION IN MATH/COMPUTER SCIENCE Course Descriptions**

**MCS3001 CO-OP PRACTICUM I**Prerequisite: Junior standing (60 credit hours), 2.25 LTU GPA, completion of all freshman and sophomore course requirements, departmental approval. First full-time work assignment providing computer science experience in the workplace. 1 hour credit

**MCS3101 CO-OP PRACTICUM II**Prerequisite: Satisfactory completion of MCS3001, departmental approval. Second full-time work assignment providing computer science experience in the workplace. 1 hour credit

**MCS4001 CO-OP PRACTICUM III**Prerequisite: Satisfactory completion of MCS3101, departmental approval. Third full-time work assignment providing computer science experience in the workplace. 1 hour credit

- Degree Requirements
- Course Requirements
- New Concentrations
- Bioinformatics
- Computer Security
- Additional Information
- Admissions Requirements
- Program Objectives
- Program Main
- MCS Home