Computer Science

  • 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. Students learn about basic computer information, different types of business systems and basic systems analysis, design and development. Students also study basic mathematics, software development and create simple Java programs. 4 credits.
  • 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++
    Undergraduate Prerequisites: MET CS 201; 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.
  • MET CS 232: Programming with Java
    Undergraduate Prerequisites: MET CS 201; 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.
  • 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++
    Undergraduate Prerequisites: MET CS 231; 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.
  • MET CS 342: Data Structures with Java
    Undergraduate Prerequisites: 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.
  • MET CS 382: Information Systems for Management
    Undergraduate Prerequisites: MET CS 201; or consent of the instructor
    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
    Undergraduate Prerequisites: MET CS 231 or MET CS 232; 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. 4 credits
  • MET CS 425: Introduction to Business Data Communications and Networks
    Undergraduate Prerequisites: MET CS 200 Fundamentals of Information Technology.
    Basic concepts of data communications and computer networks; hardware, software, and reference models; TCP/IP protocol suit. Overview of voice communication, LAN, 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
    Undergraduate Prerequisites: MET CS 231 or MET CS 232; or instructor's consent
    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
    Undergraduate Prerequisites: consent of advisor.
    Independent study on special projects under faculty guidance.
  • MET CS 496: Directed Study
    Undergraduate Prerequisites: consent of advisor.
    Independent study on special projects under faculty guidance.
  • MET CS 503: Windows .NET Application Programming with C#
    Graduate Prerequisites: MET CS 341 and 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. 4 credits.
  • 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 200 Fundamentals of Information Technology; recommended to students with no programming background. Or Instructor's Consent.
  • MET CS 532: Computer Graphics
    Graduate Prerequisites: MET CS 248 and MET CS 341 or MET CS 342 or consent of the instructor
    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
    Undergraduate Prerequisites: MET CS 575 and 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.