Computer Science

  • MET CS 232: Programming with Java
    Learn the fundamentals of object-oriented programming and the Java programming language, including primitive data types, control structures, methods, classes, arrays, and strings. You will also explore key concepts and tools such as inheritance, polymorphism, interfaces, exceptions, the Java collections framework, basic data structures, and recursion.
  • MET CS 248: Discrete Mathematics
    Prerequisite: high school algebra. 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 342: Data Structures with Java
    Prerequisites: MET CS 232 or consent of instructor. Learn 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, graphs, and searching and sorting algorithms. Effective Fall 2020, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking.
    • Creativity/Innovation
    • Critical Thinking
    • Quantitative Reasoning II
  • MET CS 382: Information Systems for Management
    Explore computer-based management information systems. You will learn management's role in the development and use of computer systems, including how they plan for a comprehensive information system, and their role in decision-making. Case studies are utilized.
  • MET CS 401: Introduction to Web Application Development
    Prerequisites: METCS232 or instructor's consent - Build core competencies in web design and development. You will begin with a complete immersion into HTML, essentially XHTML and Dynamic HTML (DHTML). Then you will be exposed to Cascading Style Sheets (CSS) and Dynamic CSS. The fundamentals of the JavaScript language, including object-oriented JavaScript, will be covered comprehensively, as will AJAX with XML and JSON, which are the primary means of transferring data between the client and the server.
  • MET CS 432: Introduction to IT Project Management
    A comprehensive overview of the principles, processes, and practices of software project management, grounded in the latest standards from the Project Management Institute (PMI). You will gain hands-on experience in planning, organizing, scheduling, and controlling software projects, with a strong emphasis on both predictive and adaptive methodologies. In particular, you will explore agile project management with a focus on the Scrum framework and develop practical competencies in business analysis, defining requirements, leading and managing distributed teams, facilitating project communications, handling change management, and assessing risk and cost estimation. A key component of the course involves the design and development of AI-powered applications, equipping you with AI literacy and demonstrating how AI can enhance software project management practices. This course qualifies you to pursue CAPM and PMP credential. Also, this course fulfills the educational requirements necessary to pursue the Certified Associate in Project Management (CAPM)® and Project Management Professional (PMP)® certifications offered by the Project Management Institute (PMI). 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
    Learn the latest relational and object-relational tools and techniques for persistent data and object modeling and management. You will gain extensive hands-on experience using Oracle or Microsoft SQL Server and Structured Query Language (SQL). Topics include the relational and entity-relational models, data modeling, normalization, object modeling, SQL, advanced SQL, stored procedures, triggers, database design, database lifecycle, and transactions. Advanced topics, including performance tuning, distributed databases, replication, business intelligence, data warehouses, internet databases, database administration, security, backup, and recovery, will be introduced. You will design and implement a database system as a term project. Laboratory course. Restrictions: This course may not be taken in conjunction with MET CS 579 or MET CS 669. Only one of these courses can be counted toward degree requirements.
  • MET CS 472: Computer Architecture
    Prerequisites: MET CS 232 and MET CS 248. Learn computer organization with an emphasis on processors, memory, and input/output. You will explore concepts such as pipelining, ALUs, caches, virtual memory, parallelism, measuring performance, and basic operating systems. Assembly language instruction sets and programming, as well as internal representation of instructions, will also be discussed.
  • MET CS 473: Introduction to Software Engineering
    Prerequisites: MET CS 342 or consent of instructor. 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. 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.
    • Digital/Multimedia Expression
    • Oral and/or Signed Communication
    • Teamwork/Collaboration
  • 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
    Prerequisite: MET LB 102 or consent of instructor. Not recommended for students without a programming background. Explore the concepts of object-oriented approach to software design and development using the Java programming language. You will engage in 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, you will be able to apply software engineering criteria to design and implement Java applications that are secure, robust, and scalable.
  • MET CS 521: Information Structures with Python
    Prerequisite: Programming experience in any language. Or Instructor's consent. Explore the object-oriented approach to software design and development using Python. You will engage in a detailed discussion of programming concepts starting with the fundamentals of data types, control structures methods, classes, arrays and strings, and proceed to more advanced topics such as inheritance and polymorphism, creating user interfaces, exceptions and streams. Upon completion of this course, you will be able to apply software engineering principles to design and implement Python applications that can be used with analytics and big data. Effective Fall 2021, this course fulfills a single unit in each of the following BU Hub areas: Creativity/Innovation, Critical Thinking, Quantitative Reasoning 2.
    • Creativity/Innovation
    • Critical Thinking
    • Quantitative Reasoning II
  • MET CS 526: Data Structures and Algorithms
    Prerequisites: MET LB 110 lab and either MET CS520 or MET CS521, or consent of instructor. Learn fundamental components of programs using various data structures to solve computational problems, and implement data structures using a high-level programming language. Algorithms will be created, decomposed, and expressed as pseudocode, and you will analyze their running time and computational complexity.
  • MET CS 535: Computer Networks
    Prerequisite: MET CS 575 or consent of instructor. Provides a robust understanding of networking. You will learn the fundamentals of networking systems, their architecture, function, and operation, and how these are reflected in current network technologies. As well as the principles that underlie all networks and their application (or not) to current network protocols and systems. Discover how layers of different scope are combined to create a network and receive 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. In addition, learn 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. 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 toward degree requirements.
  • MET CS 544: Foundations of Analytics and Data Visualization
    Prerequisites: MET LB 103, MET LB 104, and (METCS 520 or METCS 521), or equivalent knowledge, or consent of instructor. 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 methods. Data populations using discrete, continuous, and multivariate distributions are explored. Sampling methods and errors during measurements and computations are analyzed in the course. String manipulations and data wrangling methods are examined in detail. The concepts covered in the course are demonstrated using R. Laboratory Course. Restrictions: This course may not be taken in conjunction with MET CS 550.
  • MET CS 550: Computational Mathematics for Machine Learning
    Prerequisites: Basic knowledge of Python or R; or consent of instructor. - Mathematics is fundamental to data science and machine learning. In this course, you will review essential mathematical concepts and fundamental procedures illustrated by Python and/or R code and visualizations. Computational methods for data science presented through accessible, self-contained examples, intuitive explanations, and visualization will be discussed. Equal emphasis will be placed on both mathematics and computational methods that are at the heart of many algorithms for data analysis and machine learning. You will also advance your mathematical proficiency, enabling you to effectively apply your skills to data analytics and machine learning. Restrictions: This course may not be taken in conjunction with MET CS 544.
  • MET CS 555: Foundations of Machine Learning
    Prerequisites: MET CS 544 or MET CS 550 or consent of instructor. You will learn the foundations of statistical machine learning, regression, and classification, and explore the key components of statistical models, including how to construct, interpret, and evaluate them. Topics include data description and visualization, statistical inference, one- and two-sample tests for means and proportions, simple and multiple linear regression, multinomial and logistic regression, analysis of variance (ANOVA), and regression diagnostics. For each topic, you will examine the methodology, underlying assumptions, interpretation of results, and model assessment. The course includes a programming component using R or Python, providing hands-on experience that reinforces theoretical concepts. Methods are presented through real-world examples to help you understand when and how to apply different statistical techniques effectively.
  • MET CS 561: Financial Analytics
    This course presents an overview of modern investment topics. We will start with a survey of the financial markets and the common quantitative technique to value a range of financial instruments. Once the basic blocks of valuation tools are established, the course will discuss the portfolio construction process and risk management with derivative and time series analysis. The course will use Python Jupyter Notebook to illustrate the concept and build visualization for effective communication. By completing the course, students will be able to conduct exploratory data analysis independently and leverage their programming skillset with real-world financial case studies.
  • MET CS 566: Analysis of Algorithms
    Prerequisites: MET CS 342 or MET CS 526 or consent of instructor. Learn methods for designing and analyzing algorithms while practicing hands-on programming skills. Topics include divide-and-conquer, sorting, dynamic programming, greedy algorithms, advanced data structures, graph algorithms (shortest path, spanning trees, tree traversals), matrix operations, and NP-completeness.
  • MET CS 570: Biomedical Sciences and Health IT
    Designed for current and aspiring IT professionals preparing for healthcare-related IT (Health Informatics) careers, this course provides a high-level introduction to basic concepts of biomedicine and familiarizes students with the structure and organization of the American healthcare system and the role played by IT. Medical terminology, human anatomy and physiology, disease processes, diagnostic modalities, and treatments associated with common disease processes are introduced. IT case studies also 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.