Computer Science Undergraduate Courses

Click on any course title below to read its description. Courses offered in the upcoming semester include a schedule, and are indicated by a label to the right of the title.

Visit bu.edu/summer to see the Computer Science courses offered this summer.

MET CS 101 Computers and Their Applications
Fall ‘15

For students with no prior 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. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Page EPC 208 T 6:00 pm – 9:00 pm
MET CS 200 Fundamentals of Information Technology
Fall ‘15

This course is a technically-oriented introductory survey of information technology. Students learn about basic computer information, different types of business systems and basic systems analysis, design and development. Students also study basic mathematics, software development and create simple Java programs.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Kohn SHA 206 T 6:00 pm – 9:00 pm
OL IND Tis ARR
MET CS 201 Introduction to Programming
Fall ‘15

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 C++. Laboratory course.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Montminy PSY B55 M 6:00 pm – 9:00 pm
MET CS 231 Programming with C++
Fall ‘15

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. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Staff KCB 104 M 6:00 pm – 9:00 pm
MET CS 232 Programming with Java
Fall ‘15

This course 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. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Lee EPC 204 M 6:00 pm – 9:00 pm
B1 IND Tizio MCS B33 T 6:00 pm – 9:00 pm
MET CS 248 Discrete Mathematics
Fall ‘15

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. ]

Section Type Instructor Location Days Times
A1 IND Naidjate SMG 212 M 6:00 pm – 9:00 pm
MET CS 341 Data Structures with C++
Fall ‘15

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. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Maslanka EPC 206 W 6:00 pm – 9:00 pm
MET CS 342 Data Structures with Java
Fall ‘15

This course 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. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Berry MCS B23 T 6:00 pm – 9:00 pm
MET CS 382 Information Systems for Management
Fall ‘15

Computer-based management information systems. Management's role in development and use of computer systems. Planning for a comprehensive information system; role in decision making, case studies.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND Shahossini SHA 206 R 6:00 pm – 9:00 pm
MET CS 401 Introduction to Web Application Development
Fall ‘15

This course focuses on building core competencies in web design and development. It 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 is covered comprehensively. AJAX with XML and JSON are covered, as they are the primary means to transfer data from client and server. Prereq: METCS231 OR METCS232 or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Robertie KCB 107 T 6:00 pm – 9:00 pm
MET CS 425 Introduction to Business Data Communications and Networks
Fall ‘15

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, management IT Economic: Total Cost Ownership, Return on investment and IT Project Portfolio Management.   [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Arena FLR 109 T 6:00 pm – 9:00 pm
EL IND Arena FLR 109 T 6:00 pm – 9:00 pm
MET CS 432 Introduction to IT Project Management
Fall ‘15

This course provides comprehensive overview of IT Project Management and the key processes associated with planning, organizing and controlling of software Projects. The course will focus on various knowledge areas such as: project scope management, risk management, quality management, communications management and integration management. Students will be required to submit a term paper.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Campbell FLR 266 W 6:00 pm – 9:00 pm
EL IND Campbell FLR 266 W 6:00 pm – 9:00 pm
MET CS 469 Introduction to Database Design and Implementation for Business
Fall ‘15

Students learn the latest relational and object-relational tools and techniques for persistent data and object modeling and management. Students gain extensive hands- on experience using Oracle or Microsoft SQL Server as they 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. Students are introduced 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 669 or MET CS 579. Only one of these courses can be counted towards degree requirements.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Maiewski FLR 109 W 6:00 pm – 9:00 pm
EL IND Maiewski FLR 109 W 6:00 pm – 9:00 pm
MET CS 472 Computer Architecture
Fall ‘15

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

Section Type Instructor Location Days Times
D1 IND Hendrickson KCB 107 R 6:00 pm – 9:00 pm
EX IND Hendrickson PSY B47 T 6:00 pm – 9:00 pm
MET CS 473 Introduction to Software Engineering
Fall ‘15

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

Section Type Instructor Location Days Times
A1 IND Staff PSY B33 M 6:00 pm – 9:00 pm
MET CS 491 Directed Study

  [ Var cr. ]

MET CS 495 Directed Study

Independent study on special projects under faculty guidance.   [ 4 cr. ]

MET CS 496 Directed Study

Independent study on special projects under faculty guidance.  [ Var cr. ]

MET CS 501 Introduction to Web Technology and Languages

This course presents a complete immersion into Web technology. Topics covered include introductory concepts such as Internet and Web architectures, static vs. dynamic, and search engines. Course introduces Web page creation using the standard HTML language, DHTML, JavaScript, and XML. The focus of the course is on client-side programming, however, topics such as ASP and CGI are also briefly introduced.  [ 4 cr. ]

MET CS 503 Windows .NET Application Programming with C#

In-depth exploration of the C# programming language and Visual Studio .NET for development, debugging, and deployment of applications. Programming in C# encompassing the following topics: Device I/O handling, .NET Framework application development classes such as window forms, splitters, views, controls, dialogs, resources, such as menus, tool bars, bitmaps, and status bars. Custom controls, visual inheritance, SDI, MDI, and extending the Visual Studio .NET interface. File I/O for reading and storing binary and textual information. Data services for manipulating SQL-databases using ADO.NET. Graphics Services (GDI+) for 2D-vector graphics, imaging, and text rendering, including the new features of gradients, anti-aliasing, double buffering techniques, zooming, off-screen image processing and rendering. Communication services: TCP and UDP sockets, broadcast, unicast, and multicast sockets. Utilizing idle time processing, timers, and threading for building responsive GUI applications. Laboratory course. Prereq: MET CS 341 and MET CS 342; or instructor's consent.   [ 4 cr. ]

MET CS 504 Green Information Technology

This course empowers students to reduce the energy use, waste, and other environmental impacts of IT systems while reducing life cycle costs, thereby improving competitive advantage. Students learn how to measure computer power usage, minimize power usage, procure sustainable hardware, design green data centers, recycle computer equipment, configure computers to minimize power, use virtualization to reduce the number of servers, and other green technologies. Students also learn how to make green IT an integral part of organizational culture and planning, to foster long-term sustainable information technology. The course is executed through a combination of lectures, guest lectures, field trips, assignments, labs, case studies, and a term project.   [ 4 cr. ]

MET CS 506 Internship in Computer Science

This course provides graduate students with the opportunity to receive academic credit for a part‐time or full‐time internship. The chosen internship must be related to the student's specialization of study and located at an off‐campus facility. Students enrolled in the course will be individually supervised by a faculty member from the Department of Computer Science. This course may not be taken until the student has completed at least six courses towards their master's program. International students choosing to take this course to receive a CPT benefit must have completed one academic year of study in order to comply with International Students and Scholars Office requirements. Graduate standing in Computer Science, Computer Information Systems or Telecommunication is required   [ Var cr. ]

MET CS 520 Information Structures with Java
Fall ‘15

This course covers the concepts of object-oriented approach to software design and development using the Java programming language. It includes a detailed discussion of programming concepts starting with the fundamentals of data types, control structures methods, classes, applets, arrays and strings, and proceeding to advanced topics such as inheritance and polymorphism, interfaces, creating user interfaces, exceptions, and streams. Upon completion of this course the students will be able to apply software engineering criteria to design and implement Java applications that are secure, robust, and scalable. Prereq: MET CS 200; Not recommended for students without a programming background. Or Instructor's Consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Staff FLR 267 M 6:00 pm – 9:00 pm
EL IND Staff FLR 267 M 6:00 pm – 9:00 pm
BCL IND Simovici S 8:30 am – 4:00 pm
MET CS 521 Information Structures with Python
Fall ‘15

This course covers the concepts of the object-oriented approach to software design and development using the Python programming language. 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 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. ]

Section Type Instructor Location Days Times
C1 IND Braude KCB 102 W 6:00 pm – 9:00 pm
MET CS 532 Computer Graphics
Fall ‘15

This course is primarily the study of design of graphic algorithms. At the end of the course you can expect to be able to write programs to model, transform and display 3- dimensional objects on a 2-dimensional display. The course starts with a brief survey of graphics devices and graphics software. 2-d primitives such as lines and curves in 2- d space are studied and a number of algorithms to draw them on a rectangular surface are introduced, followed by a study of polygons, scan conversion and other fill methods. Attributes of the primitives are studied as well as filtering and aliasing. Geometric transformations in 2 dimensions are introduced in homogeneous coordinates, followed by the viewing pipeline, which includes clipping of lines, polygons and text. Hierarchical graphics modeling is briefly studied. The graphics user interface is introduced and various input functions and interaction modes are examined. 3-d graphics is introduced through object representations through polygonal methods, spline techniques, and octrees. This is followed by 3-d transformations and the 3-d viewing pipeline. The course ends with a study of algorithms to detect the visible surfaces of a 3-d object in both the object space and the image space. Laboratory Course. Prereq: MET CS 248 and MET CS 341 or MET CS 342. Or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Vasilkoski FLR 264 T 6:00 pm – 9:00 pm
MET CS 535 Computer Networks
Fall ‘15

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. The OSI and the Internet (TCP/IP) network models are discussed. The course covers each network layer in details, starting from the Physical layer to towards 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. Prereq: MET CS 575 and MET CS 201 or MET CS 231 or MET CS 232. Or instructor's consent. 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 towards degree requirements.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Day CAS 428 M 6:00 pm – 9:00 pm
MET CS 544 Foundations of Analytics
Fall ‘15

The goal of this course is to provide 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 in the course. Confidence intervals and hypothesis testing topics are also examined. The concepts covered in the course are demonstrated using R. Laboratory Course. Prereq: MET CS 546 or equivalent knowledge, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
OL IND Kalathur ARR
MET CS 546 Quantitative Methods for Information Systems
Fall ‘15

The goal of this course is to provide 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, discrete and continuous distributions. Prereq: Academic background that includes the material covered in a standard course on college algebra or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Gorlin FLR ARR T 6:00 pm – 9:00 pm
EL IND Gorlin FLR ARR T 6:00 pm – 9:00 pm
OL IND Milton ARR
MET CS 555 Data Analysis and Visualization
Fall ‘15

This course provides an overview of the statistical tools most commonly used to process, analyze, and visualize data. Topics include simple linear regression, multiple regression, logistic regression, analysis of variance, and survival analysis. These topics are explored using the statistical package R, with a focus on understanding how to use and interpret output from this software as well as how to visualize 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. Recommended Prerequisite: MET CS 544 or equivalent knowledge, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Zhang KCB 103 T 6:00 pm – 9:00 pm
MET CS 561 Financial Informatics

This course presents financial algorithms used in applications of computer science in financial decision analysis, risk management, data mining and market analysis, and other modern business processes. The course covers theoretical background on probabilistic methods used for financial decision making and their application in number of fields such as financial modeling, venture capital decision making, operational risk measurement and investment science. Number of financial applications and algorithms are being presented for portfolio risk analysis, modeling real options, venture capital decision making, etc. The course concludes with algorithms for financial risk assessment and presents the security concepts and challenges of financial information systems.   [ 4 cr. ]

MET CS 565 Advanced Java Programming

Comprehensive coverage of object-oriented programming with cooperating classes. Implementation of polymorphism with inheritance and interfaces and in Java library containers. Programming with exceptions, stream input/output and graphical AWT and Swing components. Threads, sockets, datagrams and database connectivity are also covered in this course. Laboratory course.  [ 4 cr. ]

MET CS 566 Analysis of Algorithms
Fall ‘15

Discusses basic methods for designing and analyzing efficient algorithms emphasizing methods used 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, NP completeness.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND Naidjate MCS B23 R 6:00 pm – 9:00 pm
MET CS 567 Enterprise Systems

The course introduces the technical and business fundamentals of enterprise systems, enterprise system architecture, the design of enterprise systems, and the complex process of implementing enterprise systems. This course offers methodologies and hands-on techniques for a successful implementation of enterprise systems in organizations. In the first part of this course, participants will configure an SAP ERP system to support the main business processes for a fictitious company. In the second part of the course, students will review and discuss literature pertinent to the implementation and management of enterprise systems. This course enables students identify both high-level technical implementation requirements, and organizational/employee resistors to information systems implementation. Through a variety of technological and Human Resources/Organizational Development technologies, we provide a comprehensive understanding of the technical and behavioral do's and don'ts of Managing Enterprise System implementation.  [ 4 cr. ]

MET CS 570 Biomedical Sciences and Health IT
Fall ‘15

This course is designed for IT professionals, and those training to be IT professionals, who are preparing for careers in healthcare-related IT (Health Informatics). This course provides a high-level introduction into basic concepts of biomedicine and familiarizes students with the structure and organization of American healthcare system and the roles played by IT in that system. The course introduces medical terminology, human anatomy and physiology, disease processes, diagnostic modalities, and treatments associated with common disease processes. IT case studies 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.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Keskin FLR ARR W 6:00 pm – 9:00 pm
EL IND Keskin FLR ARR W 6:00 pm – 9:00 pm
OL IND El-Jouni ARR
MET CS 575 Operating Systems
Fall ‘15

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. ]

Section Type Instructor Location Days Times
D1 IND Nourai EPC 205 R 6:00 pm – 9:00 pm
EX IND Nourai EPC 205 R 6:00 pm – 9:00 pm
MET CS 579 Database Management
Fall ‘15

This course provides 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 covered - relational data model, SQL and manipulating relational data; applications programming for relational databases; physical characteristics of databases; achieving performance and reliability with database systems; object-oriented database systems. Prereq: MET CS 231 or MET CS 232; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Staff EPC 203 T 6:00 pm – 9:00 pm
MET CS 580 Health Informatics
Fall ‘15

This course presents the technological fundamentals and integrated clinical applications of modern Biomedical IT. The first part of the course covers the technological fundamentals and the scientific concepts behind modern medical technologies, such as digital radiography, CT, nuclear medicine, ultrasound imaging, etc. It also presents various medical data and patient records, and focuses on various techniques for processing medical images. This part also covers medical computer networks and systems and data security and protection. The second part of the course focuses on actual medical applications that are used in health care and biomedical research. Prerequisite: MET CS 570 Biomedical Sciences and Health IT, or comparable knowledge of health sciences and fundamentals of IT with instructor's consent. [ 4 cr.]  [ 4 cr. ]

Section Type Instructor Location Days Times
OL IND Zhang ARR
MET CS 581 Electronic Health Records
Fall ‘15

Electronic Health Records (EHRs) are application systems that automate the activities of healthcare clinicians including physicians, nurses, physician assistants, and healthcare administrative staff. Use of EHRs is increasing rapidly due to the systems' benefits and federal government programs to deploy EHRs. This increased use of EHRs has many challenges including complex data, high security requirements, integration to multiple application systems, a distributed user base, and broad impact on how these users work.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Levinger FLR ARR M 6:00 pm – 9:00 pm
MET CS 590 Directed Study

  [ 4 cr. ]

MET CS 593 Special Topics

Prereq: consent of the instructor.  [ 4 cr. ]

MET CS 595 Information Security

-  [ 4 cr. ]

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.   [ 4 cr. ]