Note: All tuition rates listed on the Summer Term 2018 website are pending approval.
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.
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.
CAS CS 131
Representation, analysis, techniques, and principles for manipulation of basic combinatoric structures used in computer science. Rigorous reasoning is emphasized. 4 cr.
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.
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.
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.
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.
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.
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.
Topics in Computer Science
CAS CS 591
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.
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.
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.
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.
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.
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.
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.
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.
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.
Introduction to Web Application Development
MET CS 401
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Web Application Development
MET CS 601
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.