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: Introduction to Computer Information Systems
    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.
  • 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 Python. 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
    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. Pre-req: METCS201 or instructor's consent. For undergraduate students: This course may not be taken in conjunction with METCS520. Only one of these courses can be counted towards degree requirements.
  • 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.
  • MET CS 300: Introduction to Software Development
    This course introduces basic concepts in discrete mathematics, computer systems and programming that are necessary for modern computing systems. It also develops analytic and logical thinking and prepares students to take graduate-level courses in software development degree. This course first reviews the basic concepts in discrete mathematics including logic, sets, functions, relations and combinatorics. Then it discusses the fundamental concepts in computer systems such as computer organization, basic OS concepts, CPU scheduling, memory management, process management and synchronization. Concurrently with the above mathematics and systems studies, programming concepts are introduced and practiced throughout the whole course using Python. Restriction: Not for CS undergraduate students
  • 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. Prereq: MET CS231 or instructor's consent.
  • MET CS 342: Data Structures with Java
    Undergraduate Prerequisites: MET CS 232; consent from instructor.
    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. Effective Fall 2020, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking. Prerequisite: MET CS232 or instructor's consent.
    • Quantitative Reasoning II
    • Critical Thinking
    • Creativity/Innovation
  • 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. Prereq: METCS231 OR METCS232 or instructor's consent.
  • MET CS 422: Advanced Programming Concepts
    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. Prerequisite: MET CS 341 or MET CS 342. Or instructor's consent. For undergraduates only. Effective Fall 2020, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking.
    • Quantitative Reasoning II
    • Critical Thinking
    • Creativity/Innovation
  • 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, LAN, network development life cycle, security, management IT Economic: Total Cost Ownership, Return on investment and IT Project Portfolio Management. Prereq: MET CS200 or instructor's consent. May not be taken in conjunction with CS 535 or CS 625. Only one of these courses can be counted towards degree requirements.
  • MET CS 432: Introduction to IT Project Management
    This course provides comprehensive overview of IT Project Management and the key processes associated with planning, organizing and controlling of software Projects. The course will focus on various knowledge areas such as: project scope management, risk management, quality management, communications management and integration management. Students will be required to submit a term paper. Effective Fall 2020, this course fulfills a single unit in the following BU Hub area: Teamwork/Collaboration.
    • Teamwork/Collaboration
  • MET CS 469: Introduction to 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. Laboratory Class. Restrictions: This course may not be taken in conjunction with MET CS 669 or MET CS 579. Only one of these courses can be counted towards degree requirements.
  • 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. Prereq: MET CS 231 or MET CS 232; or instructor's consent
  • MET CS 473: Introduction to Software Engineering
    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. Prereq: MET CS 342 and instructor's consent to verify programming coursework. Effective Fall 2020, this course fulfills a single unit in each of the following BU Hub areas: Digital/Multimedia Expression, Oral and/or Signed Communication, Teamwork/Collaboration.
    • Oral and/or Signed Communication
    • Digital/Multimedia Expression
    • Teamwork/Collaboration
  • MET CS 495: Directed Study
    Undergraduate Prerequisites: consent of advisor.
    Independent study on special projects under faculty guidance.
  • MET CS 506: Internship in Computer Science
    This course provides graduate students with the opportunity to seek internships. The chosen internship must be related to the student's specialization of study. Students enrolled in the course will be individually supervised by a faculty member from the Department of Computer Science. This course may not be taken until the student has completed at least six courses towards their master's program. Graduate standing in MS programs offered by the MET Department of Computer Science is required. The internship credits cannot be applied toward the MS degree program.
  • MET CS 520: Information Structures with Java
    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. Prereq: MET CS 200 or MET CS 300 or Instructor's Consent. Not recommended for students without a programming background. For undergraduate students: This course may not be taken in conjunction with METCS232. Only one of these courses can be counted towards degree requirements.