Computer Science
View courses in
- Computer Science
- All Departments
- Actuarial Science
- Administrative Sciences
- Advertising
- Anthropology
- Art History
- Arts Administration
- Biology
- Biomedical Laboratory & Clinical Sciences
- Chemistry
- City Planning
- Computer Science
- Criminal Justice
- Earth Sciences
- Economics
- English & American Literature
- French
- Gastronomy
- Health Communication
- History
- Humanities
- Interdisciplinary Studies
- Leadership
- Management
- Mathematics, Statistics
- Philosophy
- Physics
- Political Science
- Psychology
- Religion
- Sociology
- Spanish
- Urban Affairs
-
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. -
MET CS 200: Fundamentals of Information Technology
This course is a technically-oriented introductory survey of information technology. The course is designed to prepare students without a technical background to succeed in the entry graduate courses in our Masters of Science in Computer Information Systems and Masters of Science in Telecommunications programs. The course starts with the basics such as the parts of a computer and the different kinds of software, including file systems, databases, computer networks, and the worldwide web. Students then learn about the different types of business systems and the basics of systems analysis, design and development. Students then study the basic mathematics needed for information technology, including the number line, operations on numbers, signed numbers, exponents and powers, algebra, sets, functions, graphs, logarithmic and exponential functions, limits, infinity, and elementary probability. Students then study the representation of data on computers and about databases, and how data is communicated between computers over networks. Finally students learn how computer software is developed, including programming languages, programming systems, data and control structures, arrays, loops, subroutines and classes. Students then develop simple Java programs. -
MET CS 201: Introduction to Programming
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. -
MET CS 231: Programming with C++
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. -
MET CS 232: Programming with Java
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. -
MET CS 248: 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. -
MET CS 341: Data Structures with C++
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. -
MET CS 342: Data Structures with Java
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. -
MET CS 382: Information Systems for Management
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. -
MET CS 401: Introduction to Web Application Development
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 425: Introduction to Business Data Communications and Networks
Basic concepts of data communications and computer networks; hardware, software, and reference models; TCP/IP protocol suit. Overview of voice communication, CAN, network development life cycle, security, management IT Economic: Total Cost Ownership, Return on investment and IT Project Portfolio Management. -
MET CS 469: Introduction to Database Design and Implementation for Business
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 472: Computer Architecture
Computer organization with emphasis on processors, memory, and input/output. Includes pipelining, ALUs, caches, virtual memory, parallelism, measuring performance, and basic operating systems concepts. Discussion of assembly language instruction sets and programming as well as internal representation of instructions. Prerequisite: MET CS231 or CS232 -
MET CS 495: Directed Study
Independent study on special projects under faculty guidance. -
MET CS 496: Directed Study
Independent study on special projects under faculty guidance. -
MET CS 503: Windows .NET Application Programming with C#
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 -
MET CS 504: Green Information Technology
This course empowers students to reduce the energy use, waste, and other environmental impacts of IT systems while reducing life cycle costs, thereby improving competitive advantage. Students learn how to measure computer power usage, minimize power usage, procure sustainable hardware, design green data centers, recycle computer equipment, configure computers to minimize power, use virtualization to reduce the number of servers, and other green technologies. Students also learn how to make green IT an integral part of organizational culture and planning, to foster long-term sustainable information technology. The course is executed through a combination of lectures, guest lectures, field trips, assignments, labs, case studies, and a term project. -
MET CS 520: Information Structures
This course covers the concepts of 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. -
MET CS 532: Computer Graphics
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 -
MET CS 535: Computer Networks
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.

