Computer Science
View courses in
- Computer Science
- All Departments
- Actuarial Science
- Administrative Sciences
- Advertising
- Anthropology
- Arts Administration
- Astronomy
- Biochemistry
- Biology
- Chemistry
- City Planning
- Computer Science
- Criminal Justice
- Gastronomy
- Health Communication
- History
- Humanities
- Interdisciplinary Studies
- Linguistics
- Management
- Mathematics, Statistics
- Physics
- Political Science
- Psychology
- Urban Affairs
-
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 572: Computer Architecture
Prerequisites: (MET CS 232 or MET LB 100) and (MET CS 248 or MET LB 101). Or consent of instructor. Examines the fundamental principles of computer architecture, from instruction set design to modern secure and high-performance processors. Topics include number systems, ISA concepts, datapath and control design, pipelining and speculative execution, memory hierarchy and virtual memory, parallel and multicore systems, and advanced architectural features such as superscalar execution and hardware-based security mechanisms. The course emphasizes the interaction between hardware, operating systems, and software, as well as performance and security trade-offs in modern processor design. -
MET CS 575: Operating Systems
Prerequisites: MET CS 472 or MET CS 572 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 577: Data Science with Python
Prerequisite: (MET CS 521) or equivalent or instructor's consent. Students will learn major Python tools and techniques for data analysis. There are weekly assignments and mini projects on topics covered in class. These assignments will help build necessary statistical, visualization and other data science skills for effective use of data science in a variety of applications including finance, text processing, time series analysis and recommendation systems. In addition, students will choose a topic for a final project and present it on the last day of class. -
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 590: Directed Study
Complete an independent study on a special project under faculty guidance. This course requires prior department approval of a student-initiated proposal. -
MET CS 593: Special Topics in Computer Scienceh
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 595: Cybersecurity Fundamentals
Prerequisite: METCS535 or METCS625 or instructor's consent. In this course, you will be introduced to fundamental concepts and principles of cybersecurity and how to apply them in developing security mechanisms and policies. Explore topics such as basic risk assessment and management, legal and ethical issues, cyber attack defense methods and tools, security principles, models, and components. You will also learn about different crypto protocols, techniques, and tools, including symmetric and asymmetric encryption algorithms, hashing, public key infrastructure, and how they can be used. You will learn to identify security threats and techniques to defend hardware, operating systems, networks, and applications in modern computing environments. Hands-on labs using current tools will also be completed as part of the required coursework. -
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 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. -
MET CS 625: Business Data Communication and Networks
Prerequisites: MET LB 102 or consent of instructor. - This course presents the foundations of data communications and takes a bottom-up approach to computer networks. The course concludes with an overview of basic network security and management concepts. Restrictions: This course may not be taken in conjunction with MET CS 425 (undergraduate) or MET CS 535. Only one of these courses can be counted toward degree requirements. -
MET CS 632: Information Technology Project and Product 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). Gain hands-on experience in planning, organizing, scheduling, and controlling software projects, with a strong emphasis on both predictive and adaptive methodologies. In particular, the course explores agile project management with a focus on the Scrum framework. You will 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 students 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. -
MET CS 633: Software Quality, Testing, and Security Management
Examine software development and software engineering from a project and program management perspective, with a focus on leading agile and distributed teams. You will engage in a term project featuring peer-reviewed milestones and a working prototype. Topics include AI-driven quality assurance (QA), team leadership, and effective collaboration in distributed settings. Additional topics covered in the course include information systems security, ethics, and professional responsibility. No programming background required. -
MET CS 634: Agile Software Development with Intelligent Systems
This course provides a comprehensive overview of the principles, processes, and practices of agile software development. Students learn how to initiate, plan, and execute software projects using a variety of agile methodologies. The course covers multiple frameworks—including Scrum, Extreme Programming (XP), the Scaled Agile Framework (SAFe), and Lean—and incorporates agile games and simulations to reinforce key concepts. Students gain practical experience with agile tools and techniques across the software development lifecycle, from ideation to deployment. Emphasis is placed on building and leading agile teams, defining roles and responsibilities, fostering effective communication, managing change, and applying Lean principles to maximize value and reduce waste. AI-Powered business analysis is also a core focus, with students learning how to identify stakeholder needs, define and manage requirements, and ensure that solutions deliver business value in agile contexts.

