Computer Science
View courses in
- Computer Science
- All Departments
- Actuarial Science
- Administrative Sciences
- Advertising
- Anthropology
- Art History
- Arts Administration
- Astronomy
- Biochemistry
- Biology
- Chemistry
- City Planning
- Computer Science
- Criminal Justice
- Economics
- English Composition & Literature
- Gastronomy
- Health Communication
- Health Science
- History
- Humanities
- Interdisciplinary Studies
- Leadership
- Linguistics
- Management
- Mathematics, Statistics
- Philosophy
- Physics
- Psychology
- Sociology
- Urban Affairs
-
MET CS 526: Data Structures and Algorithms
Prerequisites: MET CS300 and either MET CS520 or MET CS521, or consent of instructor. 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. -
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. Learn the foundations of machine learning, regression, and classification. Topics include how to describe data, statistical inference, 1 and 2 sample tests of means and proportions, simple linear regression, multiple linear regression, multinomial regression, logistic regression, analysis of variance, and regression diagnostics. These topics are explored using the statistical package R, with a focus on understanding how to use these methods and interpret their outputs and how to visualize the 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 in order to help you learn when and how to deploy different methods. -
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. -
MET CS 575: Operating Systems
Prerequisites: MET CS 232 and MET CS 472 or consent of instructor. 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. -
MET CS 579: Database Management
Prerequisite: MET CS 232 or consent of instructor. 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 include relational data modeling, SQL, and manipulating relational data; applications programming for relational databases; physical characteristics of databases; achieving performance and reliability with database systems; and object-oriented database systems. 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. -
MET CS 580: Health Informatics
This course presents the fundamental principles, concepts, and technological elements that make up the building blocks of Health Informatics. It introduces the characteristics of data, information, and knowledge in the domain, the common algorithms for health applications, and IT components in representative clinical processes. It presents the conceptual framework for handling biomedical data collection, storage, and optimal use. It covers the concepts of population health and precision medicine and the information systems that support them. It introduces basic principles of knowledge management systems in biomedicine, various aspects of Health Information Technology standards, and IT aspects of clinical process modeling. Students design a simple Health Informatics solution as a term project. -
MET CS 581: Health Information Systems
Health Information Systems are comprehensive application systems that automate the activities of healthcare delivery including clinical care using electronic health records (EHRs), coordination of care across providers, telehealth, management of the business of healthcare such as revenue cycle management, and population health management. The course covers the functionality of these systems, the underlying information technology they require and their successful operations. It addresses challenges in this rapidly changing field such as complex data, security, interoperability, mobile technology and distributed users. The course emphasizes applied use of health information systems through case studies, current articles, and exercises. -
MET CS 582: Entrepreneurship in Health IT and Biotech
The course introduces basic business concepts in biomedical, biotech, and health information technology entrepreneurship. It provides hands-on experience in creating, proposing, and justifying a business model for a healthcare or a biotech startup. Foundational study and research of entrepreneurship, business models, international healthcare systems, and innovation compose the first three modules of the course. For the final two modules, students work in teams to propose founder roles, business ideas, and analysis leading to a business plan. After providing market needs and competitive analysis of proposals, they visualize and assess overall business models, including strengths, weaknesses, opportunities, and threats analysis. Finally, they present their business models, including the empathy map and the canvas blocks, defending their business proposal. -
MET CS 584: Ethical and Legal Issues in Healthcare Informatics
Laws, regulations, and ethics guide the practice of health information management (HIM) and health informatics (HI). This course introduces students to the workings of the American legal system and concepts and theories of ethics, examines the legal, ethical, and regulatory issues that impact the protection of confidentiality and integrity of patient information, and, on the other hand, the improvement of accessibility of patient information to enable healthcare providers to make informed decision based on complete patient data. We will cover laws and regulations that are central to the HIM and HI professions, including Privacy Act of 1974, the Health Insurance Portability and Accountability Act (HIPAA), the Genetic Information Nondiscrimination Act of 2008 (GINA), the Health Information Technology for Economic and Clinical Health (HITECH) Act, the Food and Drug Administration Safety and Innovation Act (FDASIA), the 21st Century Cures Act, and the Confidentiality of Alcohol and Drug Abuse Patient Records Regulations, and more. The goal is to enable HIM and HI practitioners to make effective and informed decisions that prompt patient safety and care quality improvement. -
MET CS 593: Special Topic: Entrepreneurship in Health IT and Biotech
The course changes from semester to semester. More than one special topics course can be offered in a given semester. Course descriptions for all sections are listed below. For more information, please contact MET Department of Computer Science. -
MET CS 599: Biometrics
In this course we will study the fundamental and design applications of various biometric systems based on fingerprints, voice, face, hand geometry, palm print, iris, retina, and other modalities. Multimodal biometric systems that use two or more of the above characteristics will be discussed. Biometric system performance and issues related to the security and privacy aspects of these systems will also be addressed. -
MET CS 601: Frontend Web Development
Prerequisite: MET WD 100 - Learn essential front-end development skills, starting with foundational JavaScript techniques, such as DOM manipulation and event handling, and advancing to interactive web technologies like HTML's Drag and Drop, Canvas, and SVG. You will be exposed to asynchronous operations, including AJAX, the Fetch API, and Web Workers, and learn to craft responsive designs using Flexbox, CSS Grid, and advanced CSS selectors. A comprehensive exploration of TypeScript and its main feature, static typing, and capabilities will also be covered. The course concludes with a comprehensive dive into ReactJS, covering its core architectural concepts, component-based structure, and state management techniques. -
MET CS 602: Server-Side Web Development
Prerequisite: MET CS 601 Or instructor's consent. - The Server-Side Web Development course concentrates primarily on building full stack applications using the state of the art tools and frameworks. The course is divided into various modules covering in depth the following topics: NodeJS, Express, React, MongoDB, Mongoose ODM, Sequelize ORM, REST and GraphQL APIs, and application security. Along with the fundamentals underlying these technologies, several applications will be showcased as case studies. Students work with these technologies starting with simple applications and then examining real world complex applications. At the end of this course, students would have mastered developing the full stack applications using the MERN stack and related technologies. -
MET CS 621: 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. -
MET CS 622: Advanced Programming Techniques
Prerequisites: (MET CS 342 or equivalent knowledge of Java) or (MET CS 521 and MET CS 526) or consent of instructor. Polymorphism, containers, libraries, method specifications, large-scale code management, use of exceptions, concurrent programming, functional programming, programming tests. Java is used to illustrate these concepts. Students implement a project or projects of their own choosing, in Java, since some concepts are expressible only in Java. Effective Fall 2020, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking.

