Computer Science

Note: All tuition rates listed on the Summer Term 2018 website are pending approval.

Colleges: College of Arts & Sciences | College of Engineering | Metropolitan College

College of Arts & Sciences

Introduction to Computer Science 1

CAS CS 111

The first course for computer science majors and anyone seeking a rigorous introduction. Develops computational problem-solving skills by programming in the Python language and exposes students to a variety of other topics from computer science and its applications. Carries MCS divisional credit in CAS. 4 cr.

Top

Introduction to Computer Science 2

CAS CS 112

Prereq: (CAS CS 111) or equivalent. Covers advanced programming techniques and data structures. Topics include recursion, algorithm analysis, linked lists, stacks, queues, trees, graphs, tables, searching, and sorting. Carries MCS divisional credit in CAS. 4 cr.

Top

Combinatoric Structures

CAS CS 131

Representation, analysis, techniques, and principles for manipulation of basic combinatoric structures used in computer science. Rigorous reasoning is emphasized. 4 cr.

Top

Geometric Algorithms

CAS CS 132

Prereq: (CAS CS 111; CAS MA 123 recommended). Basic concepts, data structures, and algorithms for geometric objects. Examples of topics: Cartesian geometry, transformations and their representation, queries and sampling, triangulations. Emphasis on rigorous reasoning and analysis, advancing algorithmic maturity and expertise in its application. 4 cr.

Top

Probability in Computing

CAS CS 237

Prereq: (CAS MA 123 or equivalent) and (CAS CS 131). Introduction to basic probabilistic concepts and methods used in computer science. Develops an understanding of the crucial role played by randomness in computing, both as a powerful tool and as a challenge to confront and analyze. Emphasis on rigorous reasoning, analysis, and algorithmic thinking. 4 cr.

Top

Concepts of Programming Languages

CAS CS 320

Prereq: (CAS CS 112 and CAS CS 131). Coreq: (CAS CS 210). Concepts involved in the design of programming languages. Bindings, argument transmission, and control structures. Environments: compile-time, load-time, and run-time. Interpreters. 4 cr.

Top

Introduction to Database Systems

CAS CS 460

Prereq: (CAS CS 112) or equivalent. Introduction to database management systems. Examines entity-relationship, relational, and object-oriented data models; commercial query languages: SQL, relational algebra, relational calculus, and QBE; file organization, indexing and hashing, query optimization, transaction processing, concurrency control and recovery, integrity, and security. 4 cr.

Top

Machine Learning

CAS CS 542

Prereq: (CAS CS 112) or equivalent programming experience, and familiarity with linear algebra, probability, and statistics. Introduction to modern machine learning concepts, techniques, and algorithms. Topics include regression, kernels, support vector machines, feature selection, boosting, clustering, hidden Markov models, and Bayesian networks. Programming assignments emphasize taking theory into practice, through applications on real-world data sets. 4 cr.

Top

Data Mining

CAS CS 565

Prereq: (CAS CS 112 & CAS CS 330) and familiarity with linear algebra, probability, and statistics. Introduction to data mining concepts and techniques. Topics include association and correlation discovery, classification and clustering of large datasets, outlier detection. Emphasis on the algorithmic aspects as well as the application of mining in real-world problems. 4 cr.

Top

Topics in Computer Science

CAS CS 591

Prereq: (CAS CS 112) or consent of instructor. Topic for Summer 2017: Application Development using the MEAN Stack. Introduction to application creation, written in Javascript, using the MEAN stack as examined from theoretical and practical perspectives. Culminating in a final session-long programming project. 4 cr.

Top

Topics in Computer Science

CAS CS 591

Prereq: (CAS CS 112) or consent of instructor. Topic for Summer 2017: Graph Theory for the Internet Age. This course investigates new tools and mathematics that aid in understanding real-world graphs. The course begins with a quick review of basic graph theory (various definitions, some key concepts, theorems, and algorithms). It then introduces some more advanced concepts such as random graph theory and spectral graph theory. Using such tools, students investigate various models and concepts that attempt to describe real-world networks – scale-free networks, preferential attachment, sparse and inhomogenous models, etc. We also discuss some key recent results such as Szeremedi’s regularity lemma. The course also studies some past and future applications of these concepts that are relevant to students' current interests. At least the half of the grade will be based on term projects to be done in small groups. 4 cr.

Top

College of Engineering

Enterprise Client-Server Software Systems Design

ENG EC 512

Prereq: Programming experience in C++, Java, or C#, basic knowledge of internet protocols and HTML. A personal computer running Microsoft Windows 7 or later is required. Examination of past, current, and emerging technologies. Client side technologies including HTML and DHTML, CSS, scripting. Server side technologies including HTTP, CGI, ISAPL, and active server pages. Current and emerging server technologies including ASP.NET, XML/SOAP web services, REST, wireless and handheld access limitations, SQL databases, streaming media, cloud services and CMS. Design and implementation of solutions involving SQL database connectivity, session state, security requirements, SSL, and authentication of clients. Programming using C# and ASP.NET. Small-team projects involving design through implementation. 4 cr.

Top

Metropolitan College

Computers and Their Applications

MET CS 101

For students with no previous experience with computers. Organization and function of computer systems; application of computers in today's society; social impact of computers. Introduction to algorithms, various types of application packages, and the Internet. Not for computer science majors. 4 cr.

Top

Introduction to Programming

MET CS 201

Introduction to problem-solving methods and algorithm development. Includes procedural and data abstractions, program design, debugging, testing, and documentation. Covers data types, control structures, functions, parameter passing, library functions, and arrays. Laboratory exercises in Python. 4 cr.

Top

Programming with C++

MET CS 231

Prereq: (MET CS 201) or instructor's consent. Covers the elements of object-oriented programming and the C++ language. Data types, control structures, functions, library functions, classes, inheritance, and multiple inheritance. Use of constructors, destructors, function and operator overloading, reference parameters and default values, friend functions, input and output streams, templates, and exceptions. 4 cr.

Top

Programming with Java

MET CS 232

Prereq: (MET CS 201) or instructor's consent. Covers the elements of object-oriented programming and the Java Programming Language. Primitive data types, control structures, methods, classes, arrays and strings, inheritance and polymorphism, interfaces, creating user interfaces, applets, exceptions and streams. 4 cr.

Top

Discrete Mathematics

MET CS 248

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, shortest path and minimal spanning trees algorithms. Monoids and Groups. 4 cr.

Top

Data Structures with C++

MET CS 341

Prereq: (MET CS 231) or instructor's consent. Covers data structures, using the C++ language. Topics include data abstraction, encapsulation, the use of recursion, creation and manipulation of various data structures; bags, lists, queues, tables, trees, heaps and graphs, and searching and sorting algorithms. 4 cr.

Top

Data Structures with Java

MET CS 342

Prereq: (MET CS 232) or instructor's consent. Covers 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, and graphs, and searching and sorting algorithms. 4 cr.

Top

Introduction to Web Application Development

MET CS 401

Prereq: (MET CS 231 or MET CS 232) or instructor's consent. Focuses on building core competencies in web design and development. Begins with a complete immersion into HTML, essentially XHTML and Dynamic HTML (DHTML). Students are exposed to Cascading Style Sheets (CSS), as well as Dynamic CSS. Fundamentals of JavaScript language including object-oriented JavaScript are covered comprehensively. AJAX with XML and JSON are covered, as they are the primary means to transfer data from client and server. 4 cr.

Top

Introduction to Business Data and Communication Networks

MET CS 425

Prereq: (MET CS 200) or instructor's consent. Basic concepts of data communications and computer networks; hardware, software, and reference models; TCP/IP protocol suit. Overview of voice communication, LAN, network development life cycle, security, and management. IT Economics: Total Cost Ownership, Return on Investment, and IT Project Portfolio Management. Restrictions: May not be taken in conjunction with MET CS 535 or MET CS 625. Only one of these courses can be counted toward degree requirements. 4 cr.

Top

Introduction to IT Project Management

MET CS 432

Provides a comprehensive overview of IT Project Management and the key processes associated with planning, organizing, and controlling of software projects. The course focuses on various knowledge areas such as project scope management, risk management, quality management, communications management, and integration management. Students are required to submit a term paper. 4 cr.

Top

Introduction to Database Design and Implementation for Business

MET CS 469

Studies the latest relational and object-relational tools and techniques for persistent data and object modeling and management. Provides extensive hands- on experience using Oracle or Microsoft SQL Server as students 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. Introduction 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 579 or MET CS 669. Only one of these courses can be counted toward degree requirements. 4 cr.

Top

Computer Architecture

MET CS 472

Prereq: (MET CS 231 or MET CS 232) or instructor's consent. 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. 4 cr.

Top

Introduction to Software Engineering

MET CS 473

Prereq: (MET CS 342) or instructor's consent. 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. 4 cr.

Top

Information Structures with Python

MET CS 521

Prereq: (MET CS 200 or MET CS 300) or instructor's consent. Only recommended for students with a programming background. Covers the concepts of the object-oriented approach to software design and development using the Python programming language. 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 capable of applying software engineering principles to design and implement Python applications that can be used in conjunction with analytics and big data. 4 cr.

Top

Computer Networks

MET CS 535

Prereq: (MET CS 575 and (MET CS 201 or MET CS 231 or MET CS 232)) or instructor's consent. Overview of data communication and computer networks, including network hardware and software, as well as reference models, example networks, data communication services, and network standardization. OSI and the Internet (TCP/IP) network models are discussed. Covers each network layer in detail, starting from the physical layer to the application layer, and includes an overview of network security topics. Other topics covered include encoding digital and analog signals, transmission media, protocols, circuit, packet, message, switching techniques, internetworking devices, topologies, LANs/WANs, Ethernet, IP, TCP, UDP, and web applications. Labs on network analysis. Restrictions: May not be taken in conjunction with MET CS 425 or MET CS 625. Only one of these courses can be counted toward degree requirements. 4 cr.

Top

Foundations of Analytics

MET CS 544

Prereq: (MET CS 546) or equivalent knowledge, or instructor's consent. Provides students with the mathematical and practical background required in the field of data analytics. Starting with an introduction to probability and statistics, the R tool is introduced 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. Confidence intervals and hypothesis testing topics are also examined. The concepts covered in the course are demonstrated using R. Laboratory course. 4 cr.

Top

Quantitative Methods for Information Systems

MET CS 546

Prereq: academic background that includes the material covered in a standard course on college algebra or instructor's consent. Provides Computer Information Systems students with the mathematical fundamentals required for successful quantitative analysis of problems in the field of business computing. 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, and discrete and continuous distributions. 4 cr.

Top

Analysis of Algorithms

MET CS 566

Prereq: (MET CS 248 and (MET CS 341 or MET CS 342)) or instructor's consent. Discusses basic methods for designing and analyzing efficient algorithms emphasizing methods useful 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, and NP completeness. 4 cr.

Top

Operating Systems

MET CS 575

Prereq: (MET CS 472 and (MET CS 231 or MET 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. 4 cr.

Top

Database Management

MET CS 579

Prereq: (MET CS 231 or MET CS 232) or instructor's consent. Provides a theoretical yet modern presentation of database topics ranging from Data and Object Modeling, and 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 and distributed information systems. Restrictions: May not be taken in conjunction with MET CS 669 or MET CS 469 (undergraduate). Only one of these courses can be counted toward degree requirements. 4 cr.

Top

Web Application Development

MET CS 601

Prereq: For CIS students: (MET CS 200) or instructor's consent. For CS and TC students: (MET CS 231 or MET CS 232) or instructor's consent. Focuses on building core competencies in web design and development. Begins with a complete immersion into HTML, essentially XHTML and Dynamic HTML (DHTML). Students are exposed to Cascading Style Sheets (CSS), as well as Dynamic CSS. The fundamentals of JavaScript language including object-oriented JavaScript are covered comprehensively. AJAX with XML and JSON are covered, as they are the primary means to transfer data from client and server. 4 cr.

Top

Business Data Communication and Networks

MET CS 625

Prereq: (MET CS 200) or instructor's consent. Presents the foundations of data communications and takes a bottom-up approach to computer networks. Concludes with an overview of basic network security and management concepts. Restrictions: MS CIS only. 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. 4 cr.

Top

Information Technology Project Management

MET CS 632

A comprehensive overview of the principles, processes, and practices of software project management. Students learn techniques for planning, organizing, scheduling, and controlling software projects. Substantial focus on software cost estimation and software risk management. Students obtain practical project management skills and competencies related to the definition of a software project, establishment of project communications, managing project changes, and managing distributed software teams and projects. 4 cr.

Top

Agile Software Development

MET CS 634

eLive offering. A comprehensive overview of the principles, processes, and practices of agile software development. Students learn techniques for initiating, planning, and executing software development projects using agile methodologies. Students obtain practical knowledge of agile development frameworks and distinguish between agile and traditional project management methodologies. Students learn how to apply agile tools and techniques in the software development lifecycle from project ideation to deployment, including establishing an agile team environment, roles and responsibilities, communication and reporting methods, and embracing change. Also leverages the guidelines outlined by the Project Management Institute for agile project development as a framework. 4 cr.

Top

Web Development with .NET

MET CS 651

Prereq: (MET CS 232) or instructor's consent. Provides a comprehensive introduction to building state-of-the-art web sites, web applications, web services, and web-connected devices with Microsoft technologies, with an emphasis on server-side technologies, cross-platform (Windows, OS X, Linux) methodologies, and how they interplay with today's client-side script. Server-side technologies covered include the C# programming language, the ASP.NET system for developing web sites and web apps, REST-based and SOAP-based web services, ADO.NET and LINQ for data access, Model View Controller (MVC) and Model- View-ViewModel (MVVM) architectures and frameworks like Windows Communication Framework (WCF). This class requires some programming experience in either Java, C#, or C++. Programming will be based on Microsoft Visual Studio or Microsoft Code, available through BU's MSDNAA. A copy of the software will be provided to students. 4 cr.

Top

Database Design and Implementation for Business

MET CS 669

Studies the latest relational and object-relational tools and techniques for persistent data and object modeling and management. Provides extensive hands-on experience using Oracle or Microsoft SQL Server as students learn the Structured Query Language (SQL) and design and implement databases. Students design and implement a database system as a term project. Restrictions: Only for MS CIS. 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 toward degree requirements. 4 cr.

Top

Software Engineering

MET CS 673

Prereq: (MET CS 342) and at least one 500-level computer programming-intensive science course, or instructor's consent. 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. 4 cr.

Top

Information Systems Analysis and Design

MET CS 682

Prereq: basic programming knowledge or instructor's consent. 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, implementation, and management; project control; and systems-level testing. Laboratory course. 4 cr.

Top

Web Analytics and Mining

MET CS 688

Prereq: (MET CS 544 or MET CS 555) or equivalent knowledge, or instructor's consent. Covers the areas of web analytics, text mining, web mining, and practical application domains. The web analytics part of the course studies the metrics of web sites, their content, user behavior, and reporting. Google Analytics tool is used for collection of web site data and doing the analysis. The text mining module covers the analysis of text including content extraction, string matching, clustering, classification, and recommendation systems. The web mining module studies how web crawlers process and index the content of web sites, how search works, and how results are ranked. Application areas mining the social web and game metrics will be extensively investigated. Laboratory Course. 4 cr.

Top

Digital Forensics and Investigations

MET CS 693

eLive offering. Provides a comprehensive understanding of digital forensics and investigation tools and techniques. Learn what computer forensics and investigation is as a profession and gain an understanding of the overall investigative process. Operating system architectures and disk structures are discussed. Studies how to set up an investigator's office and laboratory, as well as what computer forensic hardware and software tools are available. Other topics covered include importance of digital evidence controls and how to process crime and incident scenes, details of data acquisition, computer forensic analysis, e-mail investigations, image file recovery, investigative report writing, and expert witness requirements. Provides a range of laboratory and hands-on assignments either in solo or in teams. With rapid growth of computer systems and digital data this area has grown in importance. 4 cr.

Top

IT Strategy and Management

MET CS 782

Prereq: (MET CS 682) or instructor's consent. Describes and compares contemporary and emerging information technology and its management. Students learn how to identify information technologies of strategic value to their organizations and how to manage their implementation. The course highlights the application of IT to business needs. MET CS 782 is at the advanced Masters (700) level, and assumes that students understand IT systems at the level of MET CS 682 Systems Analysis and Design. Students who haven't completed MET CS 682 should contact their academic advisor or the professor to determine if they are adequately prepared. 4 cr.

Top

Enterprise Architecture

MET CS 783

Prereq: (MET CS 682) or strategic IT experience, or instructor's consent. Builds upon the strong technical foundation of our MSCIS and MSCS curricula, by providing students with the CIO-level management perspective and skills of an enterprise architect, in the context of the technologies that implement those architectures. Our text provides much of the management content of the course, and the online and classroom content provide both management and technical skills. Students learn that enterprise architectures are best developed incrementally, by system development projects that are aligned with strategic goals and enterprise architecture. The online content includes many real enterprise system development case studies, showing how these enterprise systems contributed to and helped define the overall enterprise architecture. The course also includes a number of realistic enterprise architecture assignments and an incremental term project with components spanning the course, to provide students with hands-on enterprise architecture experience. The course provides students with the understanding and skills needed to define and implement successful enterprise architectures that provide real value to organizations, such as substantially reducing IT costs while improving performance, agility, and alignment of information technology to business goals. 4 cr.

Top

Courses of Related Interest