Computing Graduate-Level Courses:
Advanced Course in Computers 1 - EECE 207
Mathematics, image processing, signal processing, image reconstruction, and imaging systems in medical imaging applications. EECE 207 and EECE 208 may not both be used to meet master’s requirements in EECE. Offered every fall at the General Electric Medical Systems facility. Prereq: Cons. of instr.; GE employee.
Advanced Course in Computers 2 - EECE 208
Problem solving methodology, software engineering tools and environment (typical topics: UNIX, C, data structures, object oriented paradigm, programming strategies), and hardware engineering tools (typical topics: analog and digital CAD, PALs, VME, applications). EECE 208 and EECE 211 may not both be used to meet degree requirements. EECE 207 and EECE 208 may not both be used to meet master’s degree requirements in EECE. Offered every spring at the General Electric Medical Systems facility. Prereq: Cons. of instr; GE employee.
Algorithm Analysis and Applications - EECE 211
Introduction to the analysis of algorithms. Topics include: asymptotic complexity notation, recursion analysis, basic and advanced data structures, sorting methodologies, dynamic programming, and graph algorithms, including heuristic search techniques such as best-first and A-star algorithms. Advanced topics include NP-completeness theory and linear programming. Prereq: COEN 30 or equiv. and COEN 120 or equiv and MATH 81 or equiv.; or COEN 30 or equiv. and COSC 154 or equiv. and MATH 81 or equiv
Pattern Recognition - EECE 212
Theory and application of pattern recognition and learning machines. Correlation methods, discriminant analysis, maximum likelihood decisions, minimax techniques, feature extraction, preprocessing, clustering, nonsupervised learning. Syntactic pattern recognition techniques. Offered occasionally. Prereq: EECE 206.
Information & Coding Theory - EECE 214
Introduction to information measure, mutual information, self-information, entropy, encoding of information, discrete and continuous channels, channel capacity, error detection, error correcting codes, group codes, cyclic codes, BCH codes, convolution codes, and advanced codes. Offered alternate years.
Neural Networks & Neural Computing - EECE 215
Introduction to artificial neural networks and neural computing. Multilayer perceptron models and back propagation. Recurrent and feedforward associative neural networks. Kohonen models and counterpropagation networks. Adaptive resonance theory and Boltzmann machines. Simulated annealing. Applications include optimization, pattern recognition in signal processing and control algorithms. Offered spring term, alternate years. Prereq: COEN 30 or COSC 148.
Artificial Intelligence - EECE 216
Introduction to artificial intelligence and expert systems. Knowledge presentation and the knowledge base. Knowledge acquisition inference engines. Forward and backward chaining. Case-based reasoning and hybrid expert systems. Applications for expert systems. Offered spring term, alternate years. Prereq: COEN 30; or COSC 148.
Computer Architecture - EECE 217
Review of basic computer architecture. Evaluation of architecture performance. Design and evaluation of instruction sets, pipeline processors and instruction scheduling, vector processors, memory hierarchy and design, including cache, main and virtual memories, memory protection schemes, input/output and its relation to system performance. Offered fall term. Prereq: COEN 171
Digital Image Processing - EECE 226
Theory and practice of image digitization, processing, coding and analysis. Representations of images, image models. Techniques of image enhancement and restoration. Image compaction and coding. Segmentation and image understanding. Offered occasionally. Prereq: EECE 157.
Computer Networks I - MSCS 209
An intensive study of computer networking and networking standards with hands-on experience. Following the ISO-OSI model, the first term concentrates on the lower four layers (physical, datalink, networking, and transport) and the second on the upper four (transport, session, presentation, and application). Offered regularly. Prereq: COSC 125.
Computer Networks II - MSCS 210
An intensive study of computer networking and networking standards with hands-on experience. Following the ISO-OSI model, the first term concentrates on the lower four layers (physical, datalink, networking, and transport) and the second on the upper four (transport, session, presentation, and application). Offered regularly. Prereq: COSC 125.
Design & Analysis of Algorithms - MSCS 224
Approaches for creating solutions to problems and determining the space and time efficiency of those solutions. Design techniques are covered, such as divide and conquer, heuristic, randomized, and induction. Analysis of time and space complexity may include applications of the Master Theorem, amortized analysis, probabilistic arguments, etc. Complexity theory such as NP and PSPACE completeness is also considered. Offered yearly. Prereq: MSCS 222 or equiv.
Paradigms for Software Development I - MSCS 226
The imperative and object-oriented programming approaches to software design and development are experienced using software engineering principles appropriate for each paradigm. These two paradigms are four of the main paradigms used in software development. Offered occasionally. Prereq: COSC 61 or equiv. and COSC 66 or equiv. and two terms of upper division computer science courses.
Paradigms for Software Development II - MSCS 227
The functional and declarative programming approaches to software design and development are experienced using software engineering principles appropriate for each paradigm. These two paradigms are four of the main paradigms used in software development. Offered occasionally. Prereq: COSC 61 or equiv. and COSC 66 or equiv. and two terms of upper division computer science courses.
Data Mining - MSCS 228
Techniques for extracting “interesting” relationships and knowledge hidden in data, such as decision trees, association rules, clustering, neural networks, Bayesian classifiers, feature selection, pattern assessment, inductive logic programming, outlier analysis, data imputation, and data integration. Offered occasionally. Prereq: COSC 55 and COSC 153; or COSC 55 and COSC 159; or COSC 55 and MATH 164; or equiv.
Component Architecture - MSCS 236
Focuses on designing and implementing software components, and ways of specifying their interconnection and interaction. The primary technology is Java Beans, although other approaches such as ActiveX are also considered. General notions relating to specifying and identifying components and the general distribution of resources are examined.
Distributed Computing - MSCS 237
Focuses primarily on the interconnection of software components, both in the way they communicate with one another, and in the way they are themselves distributed. The concentration is not as much on the technical detail of standards such as Corba, Java RMI, and Distributed Network Architecture, but on the ways these technologies can be used to construct dynamic infrastructures for welding diverse local environments into one community of cooperating parts. The emphasis is very much upon allowing heterogeneity, and on solving business problems related to distributed concentrations of data.
Enterprise Architecture - MSCS 238
Focuses totally on the server side of communications, and on the ways of using software components as wrappers of all kinds of objects, so they can participate in highly distributed environments involving security and transactions. Attention is paid to establishing universal environments for naming resources and finding them, and to ways of managing the life cycle of both data and program components. The main technology considered is Enterprise Java Beans.
Information Representation - MSCS 239
Focuses on using special grammars and their associated language for communicating business information universally amongst very diverse systems. The attention is not on the formalities of the grammars, but on the ways one can take advantage of knowing that documents are valid with respect to those grammars. The particular technology primarily considered is XML, and many current standards from the XML community are considered and used. Offered regularly.
Computing Undergraduate Courses:
Operating Systems - COSC 125
Fundamental concepts of operating systems including memory management, time sharing, device management, file systems, networking, security, and system performance. Offered every term. Prereq: COSC 65 and COSC 66; or COSC 154.
Numerical Analysis - COSC 146
Numerical solution of algebraic and transcendental equations, linear systems and the algebraic eigenvalue problem, interpolation and approximation, numerical integration, difference equations, numerical solution of differential equations, and finite difference methods. Offered fall term. Prereq: COSC 65, COSC 66, and either MATH 71 or MATH 81; or COSC 154 and MATH 81; or COEN 51 and MATH 81. Credit will not be given for both MATH 146 and COSC 146.
Programming Languages - COSC 152
A comparative study of programming paradigms and representative programming languages. Topics include binding times, control of data, control of execution, execution environment, the role of language as an organizational tool, modularization, and the concept and significance of universal programming languages. Offered fall term. Prereq: COSC 66; or COSC 154.
Principles of Database Systems - COSC 153
The internal, conceptual, and external levels of database systems as reflected in various popular database models (including relational and object-oriented). Query languages. Security. Principles and methods for database design. Offered fall term. Prereq: COSC 66 or COSC 154
Formal Languages & Computability - COSC 157
Regular languages, finite state automata, and lexical analysis; context free languages, pushdown automata, parsing, and the rudiments of LL and LR parsers; general phrase-structure languages, Turing machines, the Chuch-Turing thesis, the halting problem, universal programming languages. Offered occasionally. Prereq: COSC 126.
Software Design & Analysis - COSC 158
Issues involved in the design and implementation of large software systems. Software lifecycle, software design methodologies, human factors analysis, project management. Offered spring term. Prereq: COSC 66 or COSC 154.
Fundamentals of Artificial Intelligence - COSC 159
An introduction to the broad field of artificial intelligence. Topics include problem solving by searching, knowledge representation, reasoning, planning, decision making, learning, perception, and language processing. Offered spring term. Prereq: COSC 66 or COSC 154;and COSC 65.
Component-Based Software Construction - COSC 162
Introduction to software components in the context of the object-oriented paradigm. Component development, component selection and adaptation/customization, component deployment and assembly/integration, and system architecture. Industry standards such as JavaBeans, CORBA Component Model, and Microsoft COM/DOM/COM+. Offered annually. Prereq: COSC 61 or COSC 154; and MATH 90.
Compiler Construction - COSC 170
Lexical analysis, parsing, code generation, and optimization. Includes theoretical foundations and the practical concerns of implementation. Offered spring term. Prereq: COSC 65 and COSC 152; or COSC 152 and COSC 154.
Networks & Internets - COSC 172
Fundamentals of popular network technologies, internet organization and underlying protocols, domain administration, support of internet applications and distributed systems, domain and internet-wide security. Offered annually. Prereq: COSC 66 or COSC 154.
Data Mining - COSC 176
Techniques for extracting and evaluating patterns from large databases. Introduction to knowledge discovery process. Fundamental tasks including classification, prediction, clustering, association analysis, summarization, and discrimination. Basic techniques including decision trees, neural networks, statistics, partitional clustering, and hierarchical clustering. Offered occasionally. Prereq: COSC 159 or COEN 130; and COSC 153.
Computer Hardware - COEN 171
Overview of computer system design. Cost and performance specification. Design of arithmetic and logic units. Fundamentals of central processor architecture and a comparative study of computer instruction set architectures. Detailed study of microprocessors, including instruction, execution timing and other timing considerations. Discussions of memory and I/O devices, including the interfaces to the CPU and I/O transfer techniques. Study of common bus standards. COEN design elective in the area of hardware engineering. Design elective for Electrical and Electronics major. Offered spring term. Prereq: COEN 30 with minimum grade of C and EECE 112 with minimum grade of C; or COSC 65 or COSC 148 with minimum grade of C and EECE 112 with minimum grade of C .
Object-oriented Software Engineering - COEN 181
Presents advanced software engineering concepts in the context of object-oriented analysis and design. Topics include: issues and applications, requirements engineering, software specifications, modeling notations, software quality: testing and correctness, software reuse, and reverse engineering. COEN design elective in the area of software engineering. Prereq: COEN 20 or COSC 61.