Search for a Course
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Mohan | CAS 222 | T | 6:00 pm – 8:45 pm |
| O1 | IND | Zhang | ARR | 12:00 am – 12:00 am | |
| O2 | IND | Trajanov | ARR | 12:00 am – 12:00 am |
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| O1 | IND | Braude | ARR | 12:00 am – 12:00 am | |
| O2 | IND | Zhang | ARR | 12:00 am – 12:00 am |
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Pinsky | W | 6:00 pm – 8:45 pm | |
| A2 | IND | Pinsky | T | 6:00 pm – 8:45 pm | |
| O2 | IND | Mohan | ARR | 12:00 am – 12:00 am |
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Davoodi | CAS 315 | T | 6:00 pm – 8:45 pm |
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| O1 | IND | Kalathur | ARR | 12:00 am – 12:00 am |
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Rawassizadeh | CAS 214 | W | 6:00 pm – 8:45 pm |
| O1 | IND | Rawassizadeh | ARR | 12:00 am – 12:00 am |
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Campbell | STH B19 | W | 6:00 pm – 8:45 pm |
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| O1 | IND | ELENTUKH | ARR | 12:00 am – 12:00 am |
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. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| O2 | IND | Heda | ARR | 12:00 am – 12:00 am |
MET CS 635 Network Media Technologies
Graduate Prerequisites: (METCS231 & METCS232 & METTC535) CS 231 or CS 232 and TC 535 or consent of the instructor. - The purpose of this course is to provide students with a deeper understanding of Media-specific Technologies not only so that they will be able to use the ones covered in this course, but more importantly be able to analyze and evaluate new technologies. This course applies the principles from CS 535 to understand the engineering that lead to them as well as the special problems that confront network technologies that operate directly over the physical media. These Media specific layers have three problems to solve: the usual one of multiple users of a common resource, accommodating the particular characteristics of the media, and providing (to the degree possible) a media- independent service to the layers above. While CS 535 provides a high-level view of some of these technologies, in this course, they are considered in much greater detail as to how these technologies address their requirements and take advantage of the assumptions made. The emphasis is on those technologies that are either representative of a type or take a unique perspective on the problem. Hence, the traditional data link protocols, such as HDLC, modern Ethernet (primarily VLANs), WiFi (802.11) represent the first type, while media technologies, such as DOCSIS, RFIDs, IoT, and cellular mobile networks are representative of the second. The course will consider how these technologies solve mobility, routing, congestion, QoS (multi-media), security, etc. A major project is part of this course. Prereq: MET CS 231 or MET CS 232 and either MET CS 625 or MET CS 535; or instructor's consent. [ 4 cr. ]
MET CS 664 Artificial Intelligence
Prerequisites: MET CS 248 and MET CS 342. - Study of the ideas and techniques that enable computers to behave intelligently. Search, constraint propagations, and reasoning. Knowledge representation, natural language, learning, question answering, inference, visual perception, and/or problem solving. Laboratory course. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Kalathur | EPC 208 | M | 6:00 pm – 8:45 pm |
| O1 | IND | Mansur | ARR | 12:00 am – 12:00 am |
MET CS 665 Software Design and Patterns
Prerequisites: METCS342 and METCS565 or consent of instructor - Software design principles, the object-oriented paradigm, unified modeling language; creational, structural, and behavioral design patterns; OO analysis and design; software architectures and frameworks; code refactoring. Laboratory course. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Orsini | FLR 123 | R | 6:00 pm – 8:45 pm |
| O2 | IND | Kalathur | ARR | 12:00 am – 12:00 am |
MET CS 669 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 as you learn the Structured Query Language (SQL) and design and implement databases. You will design and implement a database system as a term project. Restrictions: This course may not be taken in conjunction with MET CS 469 (undergraduate) or MET CS 579. Only one of these courses can be counted towards degree requirements. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Diwania | KCB 107 | R | 6:00 pm – 8:45 pm |
| O1 | IND | Mansur | ARR | 12:00 am – 12:00 am | |
| O2 | IND | Lee | ARR | 12:00 am – 12:00 am |
MET CS 673 Software Engineering
Prerequisites: At least two programming-intensive courses. Or consent of instructor. Familiarity with OO design concepts and proficiency in at least one high-level programming language is required. Familiarity with web or mobile application development preferred. A comprehensive overview of the entire software development lifecycle, emphasizing modern software architectures, methodologies, practices, and tools. Key topics include agile principles and methodologies such as Scrum and XP, DevOps concepts and practices, CI/CD pipeline, modern software architectures including microservices, REST, and MVC, design patterns, refactoring, software testing, secure software development, and software project management. This course features a semester-long group project where students will design, develop, build, and deploy a real-world software system, applying Agile methodology, DevOps pipeline, and various software tools. This course is better taken as a capstone course towards the end of your program study. 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. [ 4 cr. ]
- Digital/Multimedia Expression
- Oral and/or Signed Communication
- Teamwork/Collaboration
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Eryilmaz | KCB 107 | T | 6:00 pm – 8:45 pm |
MET CS 682 Information Systems Analysis and Design
Prerequisites: Basic programming knowledge or consent of instructor. - Object-oriented methods of information systems analysis and design for organizations with data- processing needs. System feasibility; requirements analysis; database utilization; Unified Modeling Language; software system architecture, design, and implementation, management; project control; and systems-level testing. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Guadagno | CAS 324 | W | 6:00 pm – 8:45 pm |
| O2 | IND | Braude | ARR | 12:00 am – 12:00 am |
MET CS 683 Mobile Application Development with Android
Prerequisites: MET CS 342 OR MET CS 520 OR MET CS 521. Or consent of instructor. - Learn the principles, techniques, and issues associated with modern mobile application development using Android as the development platform. Topics covered will include Android application components (Activities, Services, Content Providers and Broadcast Receivers), ICC (Inter-component Communication), declarative UI design, data storage, asynchronous processing, Android sensing, 2D graphics, and Android security. You will use Kotlin as the main language for Android development and the latest Jetpack APIs. You will also develop your own app in Kotlin using Android Studio as your semester-long project. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| O2 | IND | Zhang | ARR | 12:00 am – 12:00 am |
MET CS 701 Rich Internet Application Development
Undergraduate Prerequisites: MET CS 520 or MET CS 601 and programming experience, or instructor's c onsent - The Rich Internet Application (RIA) Development course concentrates primarily on building rich client web applications in the browser for desktop and mobile devices. The course is divided into various modules covering in depth the following technologies: HTML5, AngularJS, and Ionic framework. 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 the latest and widely used RIA methodologies. Course Prerequisites: METCS520 (Information Structures) and METCS601 (Web Application Development), or instructor's consent. [ 4 cr. ]
MET CS 763 Secure Software Development
Prerequisites: MET CS 248 or consent of instructor - Overview of techniques and tools to develop secure software. Focus on the application of security. Topics include secure software development processes, threat modeling, secure requirements and architectures, vulnerability and malware analysis using static code analysis and dynamic analysis tools, vulnerabilities in C/C and Java programs, Crypto and secure APIs, vulnerabilities in web applications and mobile applications, and security testing. Hands-on lab and programming exercises using current tools are provided and required. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Zhang | KCB 102 | M | 6:00 pm – 8:45 pm |
MET CS 767 Advanced Machine Learning and Neural Networks
Prerequisites: MET CS 521 and at least one of MET CS 577, MET CS 622, MET CS 673 or MET CS 682; or consent of instructor. Theories and methods for learning from data. The course covers a variety of approaches, including Supervised and Unsupervised Learning, Regression, k-means, KNN's, Neural Nets and Deep Learning, Transformers, Recurrent Neural Nets, Adversarial Learning, Bayesian Learning, and Genetic Algorithms. The underpinnings are covered: perceptron's, backpropagation, attention, and transformers. Each student creates a term project. [ 4 cr. ]
| Section | Type | Instructor | Location | Days | Times |
|---|---|---|---|---|---|
| A1 | IND | Mohan | CDS 263 | R | 6:00 pm – 8:45 pm |
| O2 | IND | Alizadeh-Shabdiz | ARR | 12:00 am – 12:00 am |
