MET
CS 101 Computers and Their Applications
For students with no prior experience with computers. Organization and function
of computer systems; application of computers in today's society; social impact
of computers. Introduction to algorithms, various types of application packages,
and the Internet. Not for computer science majors. Laboratory course. 4 cr
MET CS 201 Introduction to Computer Science with C++
Introduction to problem-solving methods and algorithm development. Includes
procedural and data abstractions, program design, debugging, testing, and documentation.
Covers data types, control structures, functions, parameter passing, library
functions, and arrays. Laboratory exercises in C++. Laboratory course.
4 cr
MET CS 231 Introduction to Computer Science for Programmers with C++
Prereq:
Programming experience in a high-level language other than C++ (or instructor's consent)
Covers the elements of object-oriented programming and the C++ language. Data
types, control structures, functions, library functions, classes, inheritance,
and multiple inheritance. Use of constructors, destructors, function and operator
overloading, reference parameters and default values, friend functions, input
and output streams, templates, and exceptions. Laboratory course. 4 cr
MET CS 232 Introduction to Computer Science with Java
Prereq: Programming experience in a high-level language other than Java (or instructor's consent)
This course covers the elements of object-oriented programming and the Java
Programming Language. Primitive data types, control structures, methods, classes,
arrays and strings, inheritance and polymorphism, interfaces, creating user
interfaces, applets, exceptions and streams. Laboratory course. 4 cr.
MET CS 248 Introduction to Discrete Mathematics
Fundamentals of logic (the laws of logic, rules of inferences, quantifiers,
proofs of theorems), Fundamental principles of counting (permutations, combinations),
set theory, relations and functions, graphs, trees and sorting, shortest path
and minimal spanning trees algorithms. Monoids and Groups. 4 cr
MET
CS 250 Applied Mathematics for Telecommunication (formerly MET TC 250)
Prereq: High school trigonometry and algebra; or instructor's consent
Covers fundamentals related to a wide range of topics, including basic functions
(trigonometric functions, such as complex exponential functions and logarithms).
Basics of calculus (derivatives and integrals). Introduces fundamentals of probability
and stochastic processes. Emphasis is on mathematical methods relevant to telecommunication.
4 cr
MET CS 272 Introduction to Computer Systems
Prereq: MET CS 201 (or instructor's consent)
Study of computer organization/architecture to include: CPU, ALU, register
transfer languages, memory, caches, interrupt systems, and operating systems.
Discussion of assembly language topics such as data representation, instruction
sets, addressing, modes, interrupt processing, and operating systems support.
4 cr
MET CS 331 Introduction to Object- Oriented Programming with C++
Prereq: MET CS 201 (or instructor's consent)
Extends material covered in CS 201, using the C++ language. Covers the use
of classes, member functions, constructors, destructors, operator overloading,
friend functions, class composition, inheritance and multiple inheritance,
input and output streams, templates, and exceptions. Laboratory course. 4 cr
MET CS 341 Data Structures with C++
Prereq: MET CS 231 or MET
CS 331 (or instructor's consent)
Covers data structures, using the C++ language. Topics include data abstraction,
encapsulation, the use of recursion, creation and manipulation of various data
structures; bags, lists, queues, tables, trees, heaps and graphs, and searching
and sorting algorithms. Laboratory course. 4 cr
MET CS 342 Data Structures with Java
Prereq: MET CS 232 (or instructor's consent)
This course covers data structures using the Java Programming Language. Topics
include data abstraction, encapsulation, information hiding, and the use of
recursion, creation and manipulation of various data structures: lists, queues,
tables, trees, heaps, and graphs, and searching and sorting algorithms. Laboratory
course. 4 cr
MET
CS 382 Information Systems for Management
Prereq: MET CS 201 (or instructor's consent)
Computer-based management information systems. Management's role in development
and use of computer systems. Planning for a comprehensive information system;
role in decision making, case studies. 4 cr
MET CS 401 Introduction to Web Application Development
Prereq (on-campus only): MET CS 231 or MET CS 232 or MET CS 331 (or instructor's consent). Meets with CS 601.
This course focuses on building core competencies in web design and development. It begins with a complete immersion into HTML essentially XHTML and Dynamic HTML (DHTML). Students are exposed to Cascading Style Sheets (CSS), as well as Dynamic CSS. The fundamentals of JavaScript language including object-oriented JavaScript is covered comprehensively. AJAX with XML and JSON are covered, as they are the primary means to transfer data from client and server. Open source libraries such as Prototype, jQuery and Mootools might optionally be covered, as they assist in building cross-browser web applications rapidly and efficiently. The PHP language will be presented and covered; however, students can use other server-side languages; such as ASP.NET, Java (JEE) or Ruby on Rails (RoR) for their projects. The course will focus on MySQL as a relational database system with the final project. Students may use other databases with instructor approval. Students will work with either IIS 6 (or better) or Apache 2, using any conventional operating system when working on their term projects and class laboratories.
MET CS 405/605 Introduction to Human Computer Interface Design With VB.NET
Prereq: MET CS 231 or MET
CS 232 or MET CS 331
(or instructor's consent)
Provides an introduction to human-computer interface design and evaluation,
with an emphasis on graphical user interfaces for software products. Covers
design principles and theory, web usability, and selected basic research in
the areas of human factors and human cognition. Offers a hands-on application
of learned principles using .NET. Laboratory course. 4 cr
MET
CS 425 Introduction to Business Data Communications and Networks (formerly MET TC 425)
Prereq: MET CS 201, MET
MG 600, or equivalent (or instructor's consent)
Basic concepts of data communications and computer networks; hardware, software,
and reference models; TCP/IP protocol suite. Overview of voice communication,
LAN, network development life cycle, security, management IT Economic: Total
Cost Ownership, Return on investment and IT Project Portfolio Management. 4
cr
MET CS 469 Introduction to Database Design and Implementation for Busines
Database concepts, relational and entity-relationship (ER) data models, normalization, object-relational modeling, database lifecycle, the Structured Query Language (SQL). Preview of advanced database concepts, including transaction management, performance tuning, distributed databases, and data warehousing. Meets with CS 669, with undergraduate-level exercises, quizzes, and final and an optional term project. (Lab class)
MET CS 495/496 Directed Study
Prereq: Consent of advisor. Independent study on special projects under faculty
guidance. 4 cr or variable cr
MET
CS 503 Windows .NET Application Programming with C#
Prereq: MET CS 341 or MET
CS 342 (or instructor's consent)
In-depth exploration of the C++ programming language and Visual Studio .NET
for development, debugging, and deployment of applications. Programming in
C++ encompassing the following topics: Device I/O handling, .NET Framework
application development classes such as window forms, splitters, views, controls,
dialogs, resources, such as menus, tool bars, bitmaps, and status bars. Custom
controls, visual inheritance, SDI, MDI, and extending the Visual Studio .NET
interface. File I/O for reading and storing binary and textual information.
Data services for manipulating SQL-databases using ADO.NET. Graphics Services
(GDI+) for 2D-vector graphics, imaging, and text rendering, including the new
features of gradients, anti-aliasing, double buffering techniques, zooming,
off-screen image processing and rendering. Communication services: TCP and
UDP sockets, broadcast, unicast, and multicast sockets. Utilizing idle time
processing, timers, and threading for building responsive GUI applications.Laboratory
course. 4 cr
MET CS 520 Information Structures
This course covers the concepts of the object-oriented approach to software design and development using the Java programming language. It includes a detailed discussion of programming concepts starting with the fundamentals of data types, control structures methods, classes, applets, arrays and strings, and proceeding to advanced topics such as inheritance and polymorphism, interfaces, creating user interfaces, exceptions and streams. Upon completion of this course the students will be able to apply software engineering criteria to design and implement Java applications that are secure, robust, and scalable. (4 credits)
MET CS 532 Computer Graphics
Prereq: MET CS 248 and MET
CS 341 or MET CS 342 (or instructor's consent)
This course is primarily the study of design of graphic algorithms. At the
end of the course you can expect to be able to write programs to model, transform
and display 3-dimensional objects on a 2-dimensional display. The course starts
with a brief survey of graphics devices and graphics software. 2-d primitives
such as lines and curves in 2-d space are studied and a number of algorithms
to draw them on a rectangular surface are introduced, followed by a study of
polygons, scan conversion and other fill methods. Attributes of the primitives
are studied as well as filtering and aliasing. Geometric transformations in
2 dimensions are introduced in homogeneous coordinates, followed by the viewing
pipeline, which includes clipping of lines, polygons and text. Hierarchical
graphics modeling is briefly studied. The graphics user interface is introduced
and various input functions and interaction modes are examined. 3-d graphics
is introduced through object representations through polygonal methods, spline
techniques, and octrees. This is followed by 3-d transformations and the 3-d
viewing pipeline. The course ends with a study of algorithms to detect the
visible surfaces of a 3-d object in both the object space and the image space.Laboratory
course. 4 cr
MET CS 535 Data Communication and Computer Networks (Formerly MET TC 535)
Prereq: MET CS 201 or MET
CS 231 or MET CS 232 (or instructor's consent)
Overview of data communication and computer networks, including network hardware
and software, as well as reference models, example networks, data communication
services and network standardization. The OSI and the Internet (TCP/IP) network
models are discussed. The course covers each network layer in details, starting
from the Physical layer to towards the Application layer, and includes an overview
of network security topics. Other topics covered include encoding digital and
analog signals, transmission media, protocols. circuit, packet, message, switching
techniques, internetworking devices, topologies. LANs/WANs, Ethernet, IP, TCP,
UDP, and Web applications. Labs on network analysis. 4 cr
MET CS 546 Quantitative Methods for Information Systems (formerly CS 534)
The goal of this course is to provide Computer Information Systems students with the mathematical fundamentals required for successful quantitative analysis of problems in the field of business computing. The first part of the course introduces the mathematical prerequisites for understanding probability and statistics. Topics include combinatorial mathematics, functions, and the fundamentals of differentiation and integration. The second part of the course concentrates on the study of elementary probability theory, discrete and continuous distributions. 4 credits.
MET CS 550 Signals and Systems in Telecommunications (formerly MET TC 550)
Prereq: MET CS 546 (or instructor's consent)
This course presents the technical fundamental of the modern Telecommunication
Systems. It starts with the review of the basic elements of a telecom
system and defines the properties of signals . The main signal modulation
techniques, amplitude, frequency, pulse and digital, are explored in detail.
Performance of Communication Systems in Noisy Environment is also presented
followed by the fundamentals of Multiplexing and Internet Access Technologies
and the wire and wireless transmission media. The course concludes with
a review of the Physical plant of the principal telecommunication systems,
such as PSTN, Cable and TV, Digital Subscriber Lines (DSL). Satellite
Communication Systems, Cellular Telephone Systems and the Internet.
MET CS 560 Organization of Programming Languages
Prereq: MET CS 341 or MET
CS 342 (or instructor's consent)
Organization of programming languages, especially the run-time behavior of
programs. Discussion of imperative (Pascal, C), object-oriented (C++, Smalltalk,
Java), functional (Lisp), logic (Prolog), and concurrent programming. Laboratory
course. 4 cr
MET CS 563 Software Development with C++ for Mathematical Finance
Prereq: Previous programming experience with functions, CAS
CS 111 recommended, CAS
MA 226 or equivalent (or instructor's consent)
In-depth discussion of object oriented programming with C++ for mathematical
finance. Topics include: built-in-types, control structure, classes, constructors,
destructors, function overloading, operator functions, friend functions, inheritance,
polymorphism with dynamic binding. Case study: finite differences solutions
for the basic models of financial derivatives; design and development of modular,
scalable, maintainable software for modeling financial derivatives. Laboratory
course. 4 cr
Note: Only students in MA in Mathematical Finance and MS in Actuarial Science
will receive graduate credit for this course.
MET CS 564 Advanced C++ Programming
Prereq: MET CS 342 or consent
of instructor.
Accelerated review of differences between C++ and Java in the areas of program
structure, built-in types, control constructs, and arrays. Detailed coverage
of enumerations, structures, unions and bit fields. Discussion of C++ functions
and modes of parameter passing. Detailed study of C++ classes, constructors,
destructors, operator functions, class composition, inheritance, multiple inheritance,
and virtual functions. Review of techniques of programming with exceptions
and with templates. Laboratory Course. 4 cr
Note: Credit will not be given for this course if the programming prerequisites
have been taken in C++.
MET CS 565 Advanced Java Programming
Prereq: MET CS 342 or equivalent knowledge of Java (or instructor's consent)
Comprehensive coverage of object-oriented programming with cooperating classes. Implementation of polymorphism with inheritance and interfaces and in Java library containers. Programming with exceptions, stream input/output and graphical AWT and Swing components. Threads, sockets, datagrams and database connectivity are also covered in this course. Laboratory course. 4 cr. either semester.
MET CS 566 Analysis of Algorithms
Prereq: MET CS 248 and MET
CS 341 or MET CS 342 (or instructor's consent)
Discusses basic methods for designing and analyzing efficient algorithms emphasizing
methods used in practice. Topics include sorting, searching, dynamic programming,
greedy algorithms, advanced data structures, graph algorithms (shortest path,
spanning trees, tree traversals), matrix operations, string matching, NP completeness.
4 cr
MET CS 568 Language Theory and Compilers (Formerly CS 468)
Prereq: MET CS 248, MET
CS 272 and MET CS 341
or MET CS 342 (or instructor's consent)
Automata theory, grammar, and language structure, lexical analysis, syntactic
analysis, semantic analysis, code generation, and code optimization techniques.
Students design and implement a compiler. Laboratory course. 4 cr
MET CS 572 Computer Organization
Prereq: MET CS 272 and MET
CS 231 or MET CS 232
or MET CS 331 (or instructor's consent)
Computer organization ranging from large mainframes to minicomputers and microprocessors,
with emphasis on processor, memory, and input/output systems. Includes microprogramming,
virtual memory, peripheral device characteristics, and concurrent and distributed
systems. 4 cr
MET CS 575 Operating Systems
Prereq: MET CS 272 and MET
CS 231 or MET CS 232
or MET CS 331 (or instructor's consent)
Overview of operating system characteristics, design objectives, and structures.
Topics include concurrent processes, coordination of asynchronous events, file
systems, resource sharing, memory management, security, scheduling and deadlock
problems. 4 cr
MET CS 579 Database Management
Prereq: MET CS 231 or MET
CS 232 or MET CS 331 (or instructor's consent)
This course provides a theoretical yet modern presentation of database topics
ranging from Data and Object Modeling to advanced topics such as using C++/Java
to develop Web-based database applications. Other topics covered - relational
data model, SQL and manipulating relational data; applications programming
for relational databases; physical characteristics of databases; achieving
performance and reliability with database systems; object-oriented and distributed
information systems. 4 cr
MET CS 593/594 Special Topics Course
Prereq: Consent of advisor.
CS 580 Biomedical Information Technology
This course presents the technological fundamentals and integrated
clinical
applications of modern Biomedical IT. The first part of the course
covers
the technological fundamentals and the scientific concepts behind
modern medical
technologies, such as digital radiography, CT, nuclear medicine,
ultrasound
imaging, and molecular diagnostics. It also introduces conceptual
framework
around various medical data and patient records, biomedical databases,
and
techniques for processing biomedical data for medical imaging,
diagnostics, and
biomedical research. This part also covers medical computer networks and
systems and data security and protection. The second part of the course
focuses
on actual medical applications that are used in health care and
biomedical
research, with a number of case studies presented to the students.
MET CS 599 Biometrics
Automatic and reliable identification of individuals for issuing official documents (e.g., passport and visa) and providing access to secure facilities (e.g., military base) and proprietary information (e.g., corporate websites) has become an essential part of our modern networked society. Biometric recognition systems utilize the physiological or behavioral characteristics of an individual for identification. By using biometrics, it is possible to establish an identity based on "who you are", rather than by "what you possess"
(e.g., an ID card) or "what you remember" (e.g., a password). The events of 9/11 have generated huge interest in the design, deployment and evaluation of biometric systems.
MET CS 601 Web Application Development
Prereq (on-campus only): MET CS 231 or MET
CS 232 or MET CS 331
(or instructor's consent)
This course focuses on building core competencies in web design and development. It begins with a complete immersion into HTML essentially XHTML and Dynamic HTML (DHTML). Students are exposed to Cascading Style Sheets (CSS), as well as Dynamic CSS. The fundamentals of JavaScript language including object-oriented JavaScript is covered comprehensively. AJAX with XML and JSON are covered, as they are the primary means to transfer data from client and server. Open source libraries such as Prototype, jQuery and Mootools might optionally be covered, as they assist in building cross-browser web applications rapidly and efficiently. The PHP language will be presented and covered; however, students can use other server-side languages; such as ASP.NET, Java (JEE) or Ruby on Rails (RoR) for their projects. The course will focus on MySQL as a relational database system with the final project. Students may use other databases with instructor approval. Students will work with either IIS 6 (or better) or Apache 2, using any conventional operating system when working on their term projects and class laboratories.
MET
CS 405/605 Human-Computer Interface Design with .Net
Prereq: MET CS 231 or MET
CS 232 or MET CS 331 (or instructor's consent)
Provides an introduction to human-computer interface design and evaluation,
with an emphasis on graphical user interfaces for software products. Covers
design principles and theory, web usability, and selected basic research in
the areas of human factors and human cognition, hands-on application of learned
principles using .NET. Laboratory course. 4 cr
MET CS 625 Business Data Communications and Networks (formerly MET TC 625)
This course presents the foundations of data communications and takes a bottom-up approach to computer networks. It begins with an overview of modern data communication requirements, and basic distributed data concepts. A brief history of the Internet is presented followed by the basics of the OSI and TCP/IP computer networks models . The Physical Layer is presented in the form of basic Data communication concepts over various transmission media, wireless transmission, and the telephone system. The Data Link Layer presentation deals with design issues, error detection and correction, and the Medium Access Sub-layer covers channel allocation problems, multiple access protocols, IEEE standard 802 for LANs and WLANs, as well as bridges, switches and high-speed LANs. The basic functions of the Network Layer are explained in the context of design issues, internetworking, and the network layer in the Internet. The Transport Layer includes the transport service and elements of transport protocols, as well as the TCP and UDP Internet transport protocols . The Application Layer issues cover the main distributed applications, such as electronic mail, DNS, ftp, www etc. The course concludes with an overview of basic network security and management concepts.
MET CS 632: Information Technology Project Management
This course provides students with a comprehensive overview of the principles, processes, and practices of software project management. Students learn techniques for planning, organizing, scheduling, and controlling software projects. There is substantial focus on software cost estimation and software risk management. Students will obtain practical project management skills and competencies related to the definition of a software project, establishment of project communications, managing project changes and managing distributed software teams and projects. 4 cr
MET CS 633 Distributed Software Development and Management
During the first decade of the 21st century, a revolution has occurred in the creation of software applications. Low communication costs now allow many applications to be produced via geographically distributed development (GDD). In addition to the normal challenges of specifying and developing I.T. systems, GDD projects must accommodate differing cultures, time zones, and development methodologies. This course prepares students to justify, lead, participate in, and maintain such projects. Students study the technical and business implications of GDD. They also work in geographically dispersed teams to produce documented applications. No programming background is required.
MET CS 635 Computer Networks: Design and Implementation (formerly MET TC 635)
Prereq: MET CS 231 or MET
CS 232 and MET CS 535,
or consent of instructor.
Concepts and fundamental design principles of Computer Networks and Internet
that have contributed to the modern networks implementation. Survey of new
trends in networks and Internet/Intranet with design of real campus networks.
Topics include discussion of fundamental aspects of Internet applications layer
(HTTP, FTP, DNS), TCP, UDP socket programming, reliable data transfer, congestion
control, network layer (Ipv4 and Ipv6) and routing, link layer and Local Area
Networks (LAN), multimedia networking (RTSP, RTP, RSVP, DiffServ), and security
in computer networks. 4 cr
MET CS 651 Web Development with .NET
Prereq: MET CS 341 or MET
CS 342 (or instructor's consent)
This course provides a comprehensive introduction to building web applications and web services using the Microsoft .NET (Version 3.5) development platform. The key technologies covered include the C# programming language (Version 3.0), the ASP.NET (Version 3.5) system for developing web applications and web services using C#, and ADO.NET and LINQ (Language INtegrated Query) for data access. In addition to the above topics, we will also cover Windows Communication Framework (WCF) and Windows Presentation Framework (WPF). All programming will be based on Microsoft Visual Studio 2008 available through BU's MSDNAA. A copy of the software will be provided to the students.
MET CS 654 Network and Software Security
Prereq: MET CS 535 and
knowledge of Java equivalent to MET
CS 232; (or instructor's consent)
In-depth presentation of security issues in computer networks, systems and
applications. Internet and intranet topics include security in IP, routers,
proxy servers, and firewalls, application-level gateways, Web servers, file
and mail servers. Discussion of remote access issues, such as dial-up servers,
modems, VPN gateways and clients. Operating System security covers Unix and
Windows OS security model, memory protection, access control and authentication,
file system security, backup and recovery management, intrusion and virus protection
mechanisms. Application level security focuses on language level security and
various security policies; conventional and public keys encryption, authentication,
message digest and digital signatures and their implementations with Java APIs.
Laboratory course. 4 cr
MET CS 650 Advanced Topics in Telecommunication Systems (formerly MET TC 650)
Prereq: MET CS 550 (or instructor's consent)
Covers advanced topics in modern telecom systems, as well as their technical basis and implementation. The topics presented in detail include information theory, source coding and data compression, channel coding, modulation, channel models, demodulation, detection, channel decoding, and source decoding. System parameters as well as the performance metrics such as bit error rate (BER) as a function of system parameters are derived for various transmission channels and modulators/demodulators schemes. Communications channel access techniques are analyzed, such as point-to-point and multipoint-to-point. Finally, applications of Network technologies, such as Ethernet, Wireless access, and Fiber Optics are presented.
MET CS 660 Wireless Networks (formerly MET TC 660)
Prereq: MET CS 535 (or instructor's consent)
This course is designed to give telecommunication professionals in-depth knowledge
of wireless communications principles and cover new technologies in this domain.
The course consists of three distinct sections. The first section of the course
covers system engineering aspect of the wireless data networks. The second
section is dedicated to wireless network protocol related is issues. Medium
Access methods and TCP/IP are the main focus of the second section. Quality
of Service (QoS) is a very important issue in wireless data networks and it
currently enjoys much attention from research community. QoS in wireless data
networks and related issuesare also discussed in the second section. Modern
wireless data network is the title of the last section of the course. The third
section of the course covers the third generation of wireless networks, ad
hoc networks, blue tooth, ultra wide band communications, and mobile satellite
communications. Laboratory Course 4 Cr
MET CS 662 Computer Language Theory
Prereq: MET CS 566 (or instructor's consent)
Theory of finite automata and regular expressions and properties of regular
sets. Context-free grammars, context-free languages, and pushdown automata.
Turing machines, undecidability problems, and the Chomsky hierarchy. Introduction
to computational complexity theory and the study of NP-complete problems. 4
cr
MET CS 664 Artificial Intelligence
Prerequisites: CS 248 and CS 341 or CS 342
Study of the ideas and techniques that enable computers to behave intelligently. Search, constraint propagations, and reasoning. Knowledge representation, natural language, learning, question answering, inference, visual perception, and/or problem solving. Laboratory course.
MET CS 665 Design Patterns and Components
Prereq: MET CS 341 or MET
CS 342 and MET CS 565
or equivalent (or instructor's consent)
Investigation of the object-oriented paradigm; creational, structural, and
behavioral design patterns; component technology; implementation in java. Laboratory
course. 4 cr.
MET CS 667 Enterprise Java
Prereq: MET CS 342 or MET
CS 565 (or instructor's consent)
The course begins with an overview of advanced Java concepts like databases, networking, and remote method invocation (RMI). The J2EE architecture is explored starting with the presentation layer which includes the servlets and Java Server Pages (JSP). The Struts application framework is presented as a case study. Hibernate and Spring framework will be covered extensively. The business layer is covered using the enterprise java beans (EJB 2.1 and EJB 3.0). Advanced concepts like Java Messaging Service and Java Server Faces will be briefly covered. 4 cr
MET CS 669 Database Design and Implementation for Business
Students learn the latest relational and object-relational tools and techniques for persistent data and object modeling and management. Students gain extensive hands-on experience using Oracle or Microsoft SQL Server as they learn the Structured Query Language (SQL) and design and implement databases. Topics covered include: the relational and entity-relational models, data modeling, normalization, object modeling, SQL, advanced SQL, stored procedures, triggers, database design, database lifecycle, and transactions. Students are introduced to advanced topics including performance tuning, distributed databases, replication, business intelligence, data warehouses, internet databases, database administration, security, backup and recovery. Students design and implement a database system as a term project. (Lab class)
MET CS 670 Computer Science Concepts in Telecommunication (formerly MET TC 670)
Prereq: MET CS 231 or MET
CS 232 and MET CS 272 (or instructor's consent)
Intensive coverage of the basic concepts of both traditional and distributed
operating systems as they relate to telecommunication systems. Various abstractions
created by an operating system is presented in detail. Algorithms used in two
major areas of computer science are covered, the ones used in operating system
and the ones used to manage switching and internetworking devices. Topics on
multimedia operating systems, multiprocessor operating systems, computer networks,
and a high level discussion on computer security are covered. Labs on Operating
system concepts. 4 cr
MET CS 671 Systems Programming Using UNIX
Prereq: MET CS 575 (or instructor's consent)
Teaches students how to develop complex applications based on the UNIX/POSIX
standard. Topics include UNIX standardization and implementation, shell programming,
system calls, library function, process control and relationships, signals,
file and terminal input/output, and interprocess communication. Laboratory
course. 4 cr
MET
CS 673 Software Engineering
Prereq: MET CS 341 or MET
CS 342 and at least one 500- level computer
programming-intensive science course (or instructor's consent). MET
CS 564 or MET
CS 565 are recommended.
Techniques for the construction of reliable, efficient, and cost-effective
software. Requirement analysis, software design, programming methodologies,
testing procedures, software development tools, and management issues.
Students plan, design, implement, and test a system in a group project.
Laboratory course. 4 cr
MET CS 674 Database Security
Prereq: MET
CS 669 or MET CS579 (or instructor's consent)
The course provides a strong foundation in database security and auditing. This course utilizes Oracle scenarios and step-by-step examples. The following topics are covered: security, profiles, password policies, privileges and roles, Virtual Private Databases, and auditing. The course also covers advanced topics such as SQL injection,database management security issues such as securing the DBMS, enforcing access controls, and related issues.4 cr
MET CS 675 Operating Systems Design and Implementation
Prereq: MET CS 575 (or instructor's consent)
Detailed examination of operating system design at the programming level. Topics
include file systems, proves control and scheduling, memory management, and
input/output. Programming projects involving various aspects of system design.
Laboratory course. 4 cr
MET CS 676 Internetworking: TCP/IP Programming and Applications (formerly MET TC 675)
Prereq: MET CS 341 or MET CS 342 and MET
TC 535 (or instructor's consent)
Discussion of analysis, design, and testing of the major classes of protocols
using C, UNIX, and Windows with special attention to the software engineering
aspects. The client-server paradigm and the socket interface used by application
programs to access TCP/IP protocol suites are introduced. In-depth discussion
of different classes of server algorithms (connection-oriented vs. connectionless);
remote procedure calls; TELNET and other protocols; HTTP proxy design. Multimedia
programming. Labs on Internetworking. 4 cr
MET CS 679 Enterprise Architecture
Prereq: MET CS 535 or
MET CS 625 and MET
CS 669 or MET CS 579 (or instructor's consent)
A review of Enterprise architecture, traditional and internet-based open distributed systems with emphasis on Enterprise Integration. System Modeling with IBM?s Rhapsody. XML Schema. SOA and Web Services. Messaging Systems and JMS. Enterprise Service Bus. Identity and Access Management. Single Sign-On and LDAP. Caching and In-Memory Databases. J2EE frameworks (Spring). Object Relational Mapping (Hibernate). Business Process Management. Workflow Management and BPEL. Integration with Mainframes (zOS).
MET CS 680 Business Structure and Strategy in the Telecommunication
Industry (formerly MET TC 680)
Market structure, market rivalry, regulations, and public policy will be discussed.
Merger/acquisition and strategic partnerships, as well as the business structure
of the cable, wireless, and satellite industries. E-commerce and Web-related
issues will be examined. 4 cr
MET CS 682 Information Systems Analysis and Design
Prereq: Basic programming knowledge.
Object-oriented methods of information systems analysis and design for organizations with data-processing needs. System feasibility; requirements analysis; database utilization; Unified Modeling Language; software system architecture, design, and implementation, management; project control; and systems-level testing. Laboratory course. 4 credits.
MET CS 683 Mobile Application Development (New!)
Prereq: CS 673
The course will be divided into two parts. The first part, two thirds of the course, covers the principles and problems associated with mobile device applications, using as examples Google Android, iPhone, and other platforms such as Nokia. The last third is an in depth coverage of the open source Android development platform. Issues covered will include Mobile Hardware and Cell Networks, Architectures, Operating Systems, Languages, Development Environments and Simulators, User Interfaces, Location-based Services, Storing and Retrieving Data. Students will accomplish the following. (1) Learn the unique set of problems and challenges in developing mobile applications compared with desktop applications; (2) Learn the platform, tools, technology and process for developing mobile applications using Google Android and the Apple iPhone platforms as the main examples; (3) Write applications for the platforms covered, simulate them, and test them on the mobile hardware where possible; and (4) Work collaboratively with fellow students on their projects.
MET CS 684 IT Security Policies and Procedures
This course enables IT professional leaders to identify emerging security risks and implement security policies to support organizational goals. We discuss methodologies for identifying, quantifying, mitigating and controlling security risks. Students learn to write IT risk management plans, standards, and procedures that identify alternate sites for processing mission-critical applications, and techniques to recover infrastructure, systems, networks, data and user access. The course also discusses disaster recovery; handling information security; protection of property, personnel and facilities; protection of sensitive and classified information; privacy issues; and hostile activities.
MET CS 685 Network Management
Prereq: MET CS 535 (or instructor's consent)
This course covers computer networks management including configuration, fault,
performance, as well as security management. Particular focus and emphasis
is given to security management. Problem solving techniques and network management
tools are discussed and practiced during extensive laboratory sessions. Topics
include LAN and WAN network management, fault detection, configuration, security,
performance, accounting management. Strong focus on problem-solving techniques
and network management tools based on SNMP, detailed discussion of multi-user
computer systems security techniques, basics of cryptography, authentication
techniques, and Kerberos, Secure operating systems. Software protection. Electronic
mail. Web Security, IPsec, e-commerce: payment protocols, electronic cash.
Risk assessment. 4 cr
MET CS 689 Designing and Implementing A Data Warehouse
Prereq: CS 579 or CS 669 or instructor’s consent
This course provides students with the technical skills required to plan, implement,
and maintain a data warehouse using a DBMS such as Oracle Warehouse Builder.
It describes basic data warehousing concepts. Key topics: Design a data warehousing
system; implement a database designed with a star schema, gather data from
primary data sources, transform data, and load data in to a DBMS. Students
will create a cube using OLAP and analyze cube data using client applications.
Upon successful completion, students will be familiar with the typical data
warehouse components and architecture, and have an understanding of the practical
uses of data warehousing. 4 cr
MET CS 690 Network Security
Prereq: MET TC535 or MET CS625 - Data Communications and Computer Networks;
Familiarity with OSI and TCP/IP protocol stack;
Background-familiarity with binary numbers, prime numbers, binary- hexadecimal-decimal conversions, etc;
Familiarity with computer programming concepts.
This course will cover advanced network security issues and solutions. The main focus on the first part of the course will be on Security basics, i.e. security services, access controls, vulnerabilities, threats and risk, network architectures and attacks. In the second part of the course, particular focus and emphasis will be given to network security capabilities and mechanisms (Access Control on wire-line and wireless networks), IPsec, Firewalls, Deep Packet Inspection and Transport security. The final portion of the course will address Network Application security (Email, Ad-hoc, XML/SAML and Services Oriented Architecture security. As part of our course review we will explore a number of Network Use Cases.
MET CS 693 Digital Forensics and Investigations
Provides a comprehensive understanding of digital forensics and investigation tools and techniques. Learn what computer forensics and investigation is as a profession and gain an understanding of the overall investigative process. Operating system architectures and disk structures are discussed. Studies how to set up an investigator’s office and laboratory, as well as what computer forensic hardware and software tools are available. Other topics covered include importance of digital evidence controls and how to process crime and incident scenes, details of data acquisition, computer forensic analysis, e-mail investigations, image file recovery, investigative report writing, and expert witness requirements. Provides a range of laboratory and hands-on assignments either in solo or in teams. With rapid growth of computer systems and digital data this area has grown in importance.
MET CS 695 Enterprise Information Security
Prereq: MET CS 625 (or instructor's consent)
The course provides an in-depth presentation of security issues in computer systems, networks, and applications. Formal security models are presented and illustrated on operating system security aspects, more specifically memory protection, access control and authentication, file system security, backup and recovery management, intrusion and virus protection mechanisms. Application level security focuses on language level security and various security policies; conventional and public keys encryption, authentication, message digest and digital signatures. Internet and intranet topics include security in IP, routers, proxy servers, and firewalls, application-level gateways, Web servers, file and mail servers. Discussion of remote access issues, such as dial-up servers, modems, VPN gateways and clients.
MET CS 699 Data Mining and Business Intelligence
Prereq: CS 669 (face-to-face), CS 669 and CS 546 (online)
Data mining and investigation is a key goal behind any data warehouse effort. The course provides an introduction to concepts behind data mining, text mining, and web mining. The course surveys various data mining applications, methodologies, techniques, and models. Topics include classification, decision trees, association rules, and clustering. The course wraps up with data mining case studies using large data sets taken from real-world projects. Algorithms will be tested on data sets using the Weka Data mining software and Microsoft SQL Server 2005 (Business Intelligence Development Studio).
MET CS 701 Advanced Web Application Development
The Advanced Web Application Development course builds upon its predecessor MET CS 601 Web Application Development and concentrates primarily on building rich client web applications in the browser. The course covers the following modules in depth: ActionScript 3.0 Flex 3/4, WPF, and Silverlight. Along with the fundamentals underlying these technologies, several applications will be showcased as case studies. Students obtain hands-on exposure with these technologies starting with simple applications and then examining real world complex applications. At the end of this course, students would have mastered the latest and widely used Web application development methodologies.
MET CS 703 Network Forensics
Prereq: CS 693
This course provides a comprehensive understanding of network forensic analysis principles. Within the context of forensics security, network infrastructures, topologies, and protocols are introduced. Students understand the relationship between network forensic analysis and network security technologies. Students will learn to identify network security incidents and potential sources of digital evidence and demonstrate the ability to perform basic network data acquisition and analysis using computer based applications and utilities. Students will also identify potential applications for the integration of network forensic technologies and demonstrate the ability to accurately document network forensic processes and analysis.
MET CS 713 Advanced Digital Forensics
This course provides an introduction to the advanced digital forensic topic relating to malicious software (malware), which represents an increasing information security threat to computer systems and networks. Students will review software engineering design fundamentals and reverse engineering techniques utilized to conduct static and dynamic forensic analysis on computer systems and networks. Students will learn about the importance of forensic principles, legal considerations, digital evidence controls, and documentation of forensic procedures. This course will incorporate demonstrations and laboratory exercises to reinforce practical applications of course instruction and will require an independent research paper related to the course topic.
MET CS 732 Advanced Game Graphics
Prereq: CS 532
This is the second class in the four-course Certificate in Multimedia and Video Game Engineering. It assumes an understanding of computer graphics. The course is an update and re-orientation of MET CS 732, an existing course that has not been offered for at least five years. The first half of this course applies the basics of computer graphics covered in CS 532. It extends these by exploring lighting, texture, and rendering algorithms. The second half explores geometrical techniques for 3D representation and their application to intersection and collision.
MET CS 733 Real Time Multimedia Simulation
Prerequisites: CS 341, CS 342, or equivalent. Students who are not familiar with C++ will need to learn it as the course progresses because class projects will be in that language.
This class examines core game engine techniques that form the basis for most modern computer games. Students will implement two games of their own, one built from scratch and the other using the OGRE 3D Rendering Engine. Topics covered include Windows & DirectX Programming, Game Engine Architectures, User Input, Sound, an introduction to 3D Games Architectures, Animation, Path Planning & Movement Control, Performance Optimization, and Networked Multiplayer Games.
MET CS 734 Artificial Intelligence for Video Games
Prerequisites: Programming, and an understanding of game architecture. The course explains the basic role of Artificial Intelligence (AI) in game play. It covers languages and scripting that enable AI. AI is used in planning the paths of game-owned assets. The course shows how AI moves the story and its characters forward. The second half of the course shows how game programs can learn responses and generate plans and movements based on players’ actions. These ideas are applied to traditional video games, action games, strategy games, role-playing games, and other genres.
MET CS 751 Web Services
Prereq: MET CS 565 (or instructor's consent)
Architecture of Web Services; review of XML Shemas; SOAP (Simple Object Access
Protocol); WSDL (Web Services Description Language); UDDI (Universal Description,
Discovery, and Integration); Web Services in .NET; Sun and Apache tools; Company-specific
Web Service API’s; Java API’s for XML Messaging; Java Application
Servers; review of Security, transactions, and business process languages (e.g.
BPEL) among Web Services.4 cr
MET CS 763 Speech and Natural Language Processing
Prereq: MET CS 250 or
MET CS 248 or MET
OM 501 (or instructor's consent)
Computer applications of linguistics (syntax, semantics, and pragmatics), signal
processing and mathematical modeling in automatic speech processing, in speech
recognition, understanding and synthesis applications. 4 cr
MET CS 765 Mobile Communications (formerly MET TC 765)
Prereq: MET CS 535 and MET CS 650 (or instructor's consent)
This course provides in-depth coverage of wireless communication systems. Discussions
of PCS (Personal Communication Systems) technologies, including digital radio
systems, cellular, wireless LANs, IEEE 802.11 protocols, collision avoidance
protocols, ad hoc networks, Mobile IP. Overview of Personal Communication Networks,
3G and satellite networks. Special focus is on wireless technologies, protocols
and security aspects. 4 cr
MET CS 767 Fuzzy, Expert, Genetic, and Neural Systems
Prereq: MET CS 566 (or instructor's consent)
It is also recommended that students enroll in this class only after
taking the core courses for MS in computer science.Theories and methods
for automating the solution of problems with inexact specifications,
input, models, or output (e.g., text checkers, help desks). Expert systems,
fuzzy methods, neural net architectures, and genetic algorithms are
examined and compared. Algorithms and a term project are implemented
using shells and C++ or Java. Laboratory course. 4 cr
MET CS 770 Object-Oriented Analysis and Design
Prereq: fluency in at least one object-oriented language (C++, or Java,
or SmallTalk, or Object-Oriented Visual Basic); and MET
CS 605, or MET CS 665,
or MET CS 673; or instructor's consent
Reusability; application of the Unified Modeling Language to use cases, class
models, dynamic models, and component models; frameworks; re-factoring; design
for data management; object-oriented metrics. Requires a substantial programming
project using an object-oriented language. Laboratory course. 4 cr
MET CS 771 Internet-based Application Development (formerly MET TC 771)
Prereq: MET CS 665 and MET
CS 673 (or instructor's consent)
The network, rather than the individual computer, is rapidly becoming the application
platform of choice. Increasingly, applications consist of software from multiple
sources, executing on a variety of physical platforms, and bound together by
the Internet. This course is designed to investigate the technology options
for this network-based application environment. Topics include: Technology
and development methods for internet-based distributed applications, including
the World Wide Web platform. Distributed application architectures, language
systems (e.g. C#, Java, JavaScript, XML). Distributed Java features will be
exploited. Distributed object standards (CORBA and .NET), and net-focused development
methodologies. Internet agents. Term papers investigating current literature
and an application project are required. Laboratory course. 4 cr
MET CS 772 Satellite Communications (formerly MET TC 770)
Prereq: MET CS 535 and MET CS 650 (or instructor's consent)
This course provides an overview of Satellite network architecture, design
and implementation. Topics covered include Microwave Link Engineering, Analog
and Digital Signaling, Spacecraft Payloads including digital processing repeaters
and switches, Spacecraft Antennas, Spacecraft Bus and Subsystems, and Terrestrial
Interfaces. ATM over Satellite will be compared and contrasted with TCP/IP
over Satellite. Students will also explore launch vehicles and overall economics
of Satellite Systems. Student groups will design a Satellite Network Architecture
for a given business scenario. 4 cr
MET CS 773 Software Quality Management
Prereq: CS 673 or CS 682
Theory and practice of quality assurance and testing for each step of the software
development cycle. Verification vs. validation. Test case design techniques,
test coverage criteria, and tools for static and dynamic analysis. Standards.
Test-driven development. QA for maintenance and legacy applications. Experimental
approaches. Laboratory course. 4 cr
MET CS 775 Broadband Networking (formerly MET TC 775)
Prereq: MET CS 535 (or instructor's consent)
In-depth coverage of the architecture, interfaces, protocols, and technologies
of high-speed broadband networks. Topics include broadband wide-area network
(WAN) technologies such as gigabit routers with IP switching, MPLS, ATM and
Frame Relay; broadband LAN technologies: Fast Ethernet and Ethernet Switching,
Gigabit Ethernet, and FDDI; broadband access technologies: DSL and Cable modems,
as well as discussion of network performance, congestion control and traffic
management, provision of different levels of quality of service (QoS),resource
reservation, unicast and multicast routing, and multimedia compression and
security in broadband networks. Students are required to complete a research
project in one of the advanced Internet technologies. Labs on network performance
analysis. 4 cr
MET CS 779 Advanced Database Management
Prereq: CS 579 or CS 669
This course covers advanced aspects of database management systems including advanced normalization and denormalization, query optimization, object-oriented and object-relational databases, data warehousing, data mining, distributed databases, XML, XSL, and databases for web applications. There is extensive coverage of SQL and database instance tuning. Students learn about the advanced object-relational features in DBMS such as Oracle, including navigational query, BLOBs, abstract data types, and methods. Students learn about database programming in Oracle’s PL/SQL language, including triggers, stored procedures, and methods. By the end of the course, students should understand the basic concepts in all of these advanced database topics. Students define independent advanced database term projects, which may be related to their work or other interests. The students prepare reports and audio-video presentations for their classmates using PowerPoint and Impatica. 4 cr
MET CS 780 Database Administration
Prereq: CS 579 or CS 669 or instructor’s consent
This course prepares students to perform the day-to-day administration of a database system. While most of the examples in this course are based on Oracle database administration, the course also covers the differences in administering Microsoft SQL Server and MySQL and examples. The course covers administration on Windows, Linux and Unix platforms. The course is conducted in the MET computer laboratories, where students will use virtualizations of Oracle and MSSQL on virtualized platforms to perform exercises and gain experience administering databases. Students will also have the opportunity to install these virtualizations on their own PCs. Students interested in obtaining Oracle’s Oracle Certified Professional (OCP) Database certification will find this course very relevant. A database management course comparable to MET CS579 or CS669, or consent of the instructor, is the prerequisite for this course.
MET CS 782 IT Strategy and Management
Prereq (face-to-face versions): CS 682
This course provides an overview of contemporary I.T. management. It explains the relevant issues of effectively managing information services. The course highlights areas of greatest current and potential application of I.T. to business needs and reviews electronic business, enterprise business systems, and decision support systems. 4 cr
MET CS 786 Parallel and Distributed Computations
Prereq: MET CS 566 (or instructor's consent)
Extensive discussion of concurrent computations in different models for timing
(synchronous vs. asynchronous), interprocess communication (shared memory vs.
message passing), and failure (process and/or communication). Computational
tasks under discussion include sorting, searching, linear system evaluation,
graph algorithms (e.g., shortest path, minimum spanning trees), and routing.
Laboratory course. 4 cr
MET CS 789 Cryptography
Prereq: MET CS 248 and MET
CS 566 (or instructor's consent)
Modern symmetric ciphers (Data Encryption Standard, Advanced Encryption Standard),
Public key ciphers (The RSA cipher, ElGamal cipher), Protocols (Diffie-Helman
Key Exchange, Oblivious Transfer, Zero-Knowledge Proofs), Random number generators,
Modern factorization attacks, Elliptic Curves 4cr
MET CS 799 Advanced Cryptography
This course is a continuation of CS 789 Cryptography and introduces students to elliptic curves ciphers, digital signatures, cryptographic hash functions, block ciphers and key management issues.
MET CS 794 Grid Computing
Prereq: MET CS 565, MET CS 575 (or instructor's consent)
GRID COMPUTING realizes the concepts of distributed computing and data resources such as processing, network bandwidth and storage capacity by creating a single system image -- granting users and applications uniform and seamless access to vast IT capabilities. A grid user essentially sees a single, large virtual computer. The new Web Services Resource Framework and the Open Grid Services Architecture defines interfaces and protocols that make it easier to construct decentralized, dynamic, large-scale systems. In this course, we will explore and evaluate this technology by using it to develop a range of scalable distributed services. With grid computing, organizations can optimize computing and data resources, pool them for large capacity workloads, share them across networks and enable collaboration. 4cr
MET CS 795, 796 Directed Study
Prereq: Consent of advisor. Requires prior approval of student-initiated proposal.
Independent study on special projects under faculty guidance. Variable cr
MET CS 810,811 Master Thesis
Prereq: Consent of advisor. Variable cr
This thesis must be completed within 12 months. Students majoring in Computer
Science or Telecommunication may elect a thesis option. This option is available to Master of Science
in Computer Science candidates that have completed at least seven courses toward
their degree and have a GPA of 3.7 or higher. Students are responsible for
finding a thesis advisor and a principal reader within the department. The
advisor must be a full-time faculty member; the principal reader may be part-time
faculty member with a doctorate. Permission must be obtained by the department.
MET CS 893 Agile and Advanced Software Engineering Methods (1st of 2 courses by same designation)
Prereq: MET CS 673 Software Engineering (or instructor's consent)
Contemporary software engineering takes several distinct and rapidly changing forms. First, Agile methods are based on the need for flexibility while applications are being built. Agile methods constitute a radical departure from pre-existing methods: They rely on newly developed technologies such as test-driven development, XUnit, and refactoring. A second form is the emergence of open-source development. This course teaches the architectural and operational implications of open source development and explores its relationship with agile methods. The course will also discuss aspect-oriented programming, the decomposition of applications into onshore and offshore components, design for security, and formal methods. Laboratory course. 4cr
MET CS 893 Open Source Development (2nd of 2 courses by same designation)
Prereq: MET CS 673 or equivalent.
This course introduces students to the technological, social, and pragmatic aspects of developing open source software through direct involvement in an open source project. Projects in this course will use the Android software stack developed by Google and build mobile (cell phone) applications. Students learn to use the tools, techniques, and strategies of open source developers. They become familiar with the open source movement, its philosophy, history and licensing issues. Since this is a project-based laboratory course, students are directly involved with and integrated into an open source project. They are expected to be active participants in the project and contribute to the project in various ways. The course builds on previous design and programming courses.

