The listing of a course description here does not guarantee a course’s being offered in a particular semester. Please refer to the published schedule of classes on MyBU Student Portal for confirmation a class is actually being taught and for specific course meeting dates and times.

  • 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.
  • MET CS 521: Information Structures with Python
    This course covers the concepts of the object-oriented approach to software design and development using Python. It includes a detailed discussion of programming concepts starting with the fundamentals of data types, control structures methods, classes, arrays and strings, and proceeding to advanced topics such as inheritance and polymorphism, creating user interfaces, exceptions and streams. Upon completion of this course students will be able to apply software engineering principles to design and implement Python applications that can be used in with analytics and big data. Effective Fall 2021, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking.

    Prerequisite: Programming experience in any language. Or Instructor's consent.

    • Quantitative Reasoning II
    • Critical Thinking
    • Creativity/Innovation
  • MET CS 526: Data Structures and Algorithms
    This course covers and relates fundamental components of programs. Students use various data structures to solve computational problems, and implement data structures using a high-level programming language. Algorithms are created, decomposed, and expressed as pseudocode. The running time of various algorithms and their computational complexity are analyzed. Prerequisite: MET CS300 and either MET CS520 or MET CS521, or instructor's consent.
  • 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. Prereq: MET CS 248 and MET CS 341 or MET CS 342. Or instructor's consent.
  • MET CS 535: Computer Networks
    This course provides a robust understanding of networking. It teaches the fundamentals of networking systems, their architecture, function and operation and how those fundamentals are reflected in current network technologies. Students will learn the principles that underlie all networks and the application of those principles (or not) to current network protocols and systems. The course explains how layers of different scope are combined to create a network. There will be a basic introduction to Physical Media, the functions that make up protocols, such as error detection, delimiting, lost and duplicate detection; and the synchronization required for the feedback mechanisms: flow and retransmission control, etc. Students will be introduced to how these functions are used in current protocols, such as Ethernet, WiFi, VLANs, TCP/IP, wireless communication, routing, congestion management, QoS, network management, security, and the common network applications as well as some past applications with unique design solutions. Prereq: MET CS 575 and MET CS 201 or MET CS 231 or MET CS 232. Or instructor's consent. Restrictions: This course may not be taken in conjunction with MET CS 625 or MET CS 425 (undergraduate). Only one of these courses can be counted towards degree requirements.
  • MET CS 544: Foundations of Analytics and Data Visualization
    Formerly titled CS 544 Foundations of Analytics with R.
    The goal of this course is to provide students with the mathematical and practical background required in the field of data analytics. Probability and statistics concepts will be reviewed as well as the R tool for statistical computing and graphics. Different types of data are investigated along with data summarization techniques and plotting. Data populations using discrete, continuous, and multivariate distributions are explored. Errors during measurements and computations are analyzed in the course. Confidence intervals and hypothesis testing topics are also examined. The concepts covered in the course are demonstrated using R. Laboratory Course. Prereq: MET CS546 and (MET CS520 or MET CS521), or equivalent knowledge, or instructor's consent.
  • MET CS 546: Introduction to Probability and Statistics
    The goal of this course is to provide students with the mathematical fundamentals required for successful quantitative analysis of problems. 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. Prereq: Academic background that includes the material covered in a standard course on college algebra or instructor's consent. For undergraduate students: This course may not be taken in conjunction with MET MA 213, only one of these courses will count toward degree program requirements. Students who have taken MET MA 113 as well as MET MA 123 will also not be allowed to count MET CS 546 towards degree requirements.
  • MET CS 550: Computational Mathematics for Machine Learning
    Undergraduate Prerequisites: MET TC 250 and a knowledge of calculus, linear algebra, and an introduction to probability theory and stochastic processes
    Mathematics is fundamental to data science and machine learning. This course reviews essential mathematical concepts and procedures which are fundamental. These concepts are illustrated by Python and/or R code and by many visualizations. This course discusses mathematical concepts and computational methods for data science using simple self-contained examples, intuition and visualization. These examples will help develop intuitive explanations behind mathematical concepts. Extensive visualizations will be used to illustrate core mathematical concepts. The emphasis is both on mathematics and computational algorithms that are at the heart of many algorithms for data analysis and machine learning. This course will advance students mathematical skills that can be used effectively in data analytics and machine learning. Prerequisite: Basic knowledge of Python or R. Or instructor's consent.
  • MET CS 555: Foundations of Machine Learning
    Formerly titled CS 555 Data Analysis and Visualization with R.
    This course provides an overview of the statistical tools most commonly used to process, analyze, and visualize data. Topics include simple linear regression, multiple regression, logistic regression, analysis of variance, and survival analysis. These topics are explored using the statistical package R, with a focus on understanding how to use and interpret output from this software as well as how to visualize results. In each topic area, the methodology, including underlying assumptions and the mechanics of how it all works along with appropriate interpretation of the results, are discussed. Concepts are presented in context of real world examples. Recommended Prerequisite: MET CS 544 or equivalent knowledge, or instructor's consent.
  • MET CS 561: Financial Analytics
    This course presents financial algorithms used in applications of computer science in financial decision analysis, risk management, data mining and market analysis, and other modern business processes. The course covers theoretical background on probabilistic methods used for financial decision making and their application in number of fields such as financial modeling, venture capital decision making, operational risk measurement and investment science. Number of financial applications and algorithms are being presented for portfolio risk analysis, modeling real options, venture capital decision making, etc. The course concludes with algorithms for financial risk assessment and presents the security concepts and challenges of financial information systems.
  • MET CS 566: Analysis of Algorithms
    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. Prereq: MET CS248 and either MET CS341 or MET CS342. Or METCS 521 and METCS 526. Or instructor's consent.
  • MET CS 570: Biomedical Sciences and Health IT
    This course is designed for IT professionals, and those training to be IT professionals, who are preparing for careers in healthcare-related IT (Health Informatics). This course provides a high-level introduction into basic concepts of biomedicine and familiarizes students with the structure and organization of American healthcare system and the roles played by IT in that system. The course introduces medical terminology, human anatomy and physiology, disease processes, diagnostic modalities, and treatments associated with common disease processes. IT case studies demonstrate the key roles of health informatics and how IT tools and resources help medical professionals integrate multiple sources of information to make diagnostic and therapeutic decisions.
  • MET CS 575: Operating Systems
    Undergraduate Prerequisites: MET CS 472; and (CS 231 or CS 232) 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. Prereq: MET CS472, and MET CS231 or MET CS232, or instructor's consent.
  • MET CS 579: Database Management
    This course provides a theoretical yet modern presentation of database topics ranging from Data and Object Modeling, relational algebra and normalization to advanced topics such as how 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 database systems. Prereq: MET CS 231 or MET CS 232; or instructor's consent. Restrictions: This course may not be taken in conjunction with MET CS 469 (undergraduate) or MET CS 669. Refer to your Department for further details.