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 ‘12

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
A1 IND Keegan GCB 204 M 6:00 pm – 9:00 pm
MET CS 201 Introduction to Programming
Fall ‘12

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 GCB 208 M 6:00 pm – 9:00 pm
MET CS 231 Programming with C++
Fall ‘12

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
C1 IND Donham GCB 204 W 6:00 pm – 9:00 pm
MET CS 232 Programming with Java
Fall ‘12

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
B1 IND Tizio GCB 203 T 6:00 pm – 9:00 pm
MET CS 248 Discrete Mathematics
Fall ‘12

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 Kohn PSY B45 M 6:00 pm – 9:00 pm
MET CS 250 Applied Mathematics for Telecommunication

Covers fundamentals related to a wide range of topics, including basic functions (trigonometric functions, such as complex exponential functions and logarithms), and basics of calculus (derivatives and integrals). Introduces fundamentals of probability and stochastic processes. Emphasis is on mathematical methods relevant to telecommunication.  [ 4 cr. ]

MET CS 272 Computer Architecture

Study of computer organization/architecture to include: CPU, ALU, register transfer languages, memory, caches, interrupt systems, and operating systems. Discussion of assembly language topics such as data representation, instruction sets, addressing, modes, interrupt processing, and operating systems support.   [ 4 cr. ]

MET CS 341 Data Structures with C++
Fall ‘12

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 FLR 134 W 6:00 pm – 9:00 pm
MET CS 342 Data Structures with Java
Fall ‘12

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 Shtern PSY B33 T 6:00 pm – 9:00 pm
MET CS 382 Information Systems for Management
Fall ‘12

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 Covino PHO 202 R 6:00 pm – 9:00 pm
MET CS 401 Introduction to Web Application Development
Fall ‘12

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. Open source libraries such as Prototype, jQuery and Mootools might optionally be covered, as they assist in building cross-browser web applications rapidly and efficiently. The PHP language will be presented and covered; however, students can use other server-side languages; such as ASP.NET, Java (JEE) or Ruby on Rails (RoR) for their projects. The course will focus on MySQL as a relational database system with the final project. Students may use other databases with instructor approval. Students will work with either IIS 6 (or better) or Apache 2, using any conventional operating system when working on their term projects and class laboratories.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Robertie CAS 218 W 6:00 pm – 9:00 pm
MET CS 405 Introduction to Human-Computer Interface Design with VB.Net

Provides an introduction to human-computer interface design and evaluation, with an emphasis on graphical user interfaces for software products. Covers design principles and theory, web usability, and selected basic research in the areas of human factors and human cognition. Offers a hands-on application of learned principles using .NET. Laboratory course.   [ 4 cr. ]

MET CS 425 Introduction to Business Data Communications and Networks
Fall ‘12

Basic concepts of data communications and computer networks; hardware, software, and reference models; TCP/IP protocol suit. Overview of voice communication, CAN, 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 266 T 6:00 pm – 9:00 pm
EL IND Arena ARR
EL Arena T 6:00 pm – 9:00 pm
MET CS 432 Project Management
Fall ‘12

This courses 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 TBA CAS B18B W 6:00 pm – 9:00 pm
MET CS 469 Introduction to Database Design and Implementation for Business
Fall ‘12

Database concepts, relational and entity-relationship (ER) data models, normalization, object-relational modeling, database lifecycle, the Structured Query Language (SQL). Preview of advanced database concepts, including transaction management, performance tuning, distributed databases, and data warehousing. Meets with CS 669, with undergraduate-level exercises, quizzes, and final and an optional term project. (Lab class)  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND Maiewski FLR ARR R 6:00 pm – 9:00 pm
EL IND TBA FLR ARR R 6:00 pm – 9:00 pm
MET CS 472 Computer Architecture
Fall ‘12

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. Prerequisite: MET CS231 or CS232  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Hendrickson PSY B39 M 6:00 pm – 9:00 pm
MET CS 473 Software Engineering
Fall ‘12

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

Section Type Instructor Location Days Times
C1 IND Zhang GCB 209 W 6:00 pm – 9:00 pm
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  [ 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 532 Computer Graphics
Fall ‘12

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

Section Type Instructor Location Days Times
D1 IND Greisokh FLR ARR R 6:00 pm – 9:00 pm
MET CS 535 Computer Networks
Fall ‘12

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

Section Type Instructor Location Days Times
D1 IND Day SMG 315 R 6:00 pm – 9:00 pm
MET CS 546 Quantitative Methods for Information Systems
Fall ‘12

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

Section Type Instructor Location Days Times
OL IND Temkin ARR
MET CS 560 Organization of Programming Languages

Organization of programming languages, especially the run-time behavior of programs. Discussion of imperative (Pascal, C), object-oriented (C++, Smalltalk, Java), functional (Lisp), logic (Prolog), and concurrent programming. Laboratory course.   [ 4 cr. ]

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 563 Software Development with C++ Programming for Mathematical Finance

In-depth discussion of object oriented programming with C++ for mathematical finance. Topics include: built-in-types, control structure, classes, constructors, destructors, function overloading, operator functions, friend functions, inheritance, polymorphism with dynamic binding. Case study: finite differences solutions for the basic models of financial derivatives; design and development of modular, scalable, maintainable software for modeling financial derivatives. Laboratory course.   [ 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 ‘12

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
C1 IND Lee SMG 302 W 6:00 pm – 9:00 pm
MET CS 570 Health Sciences and IT

This course provides students with a graduate introduction to the American healthcare system and the roles played by IT in that system. The course explores the structure and functions of healthcare information systems, medical terminology, human anatomy and physiology, disease processes, diagnostic modalities, and treatments associated with common disease processes. IT case studies trace the workflows and show how information systems are used in diagnosing and treating diseases.  [ 4 cr. ]

MET CS 575 Operating Systems
Fall ‘12

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 Zhang CAS B20 R 6:00 pm – 9:00 pm
W1 IND Zhang M 6:00 pm – 9:00 pm
MET CS 579 Database Management
Fall ‘12

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

Section Type Instructor Location Days Times
A1 IND Djordjevic PSY B51 M 6:00 pm – 9:00 pm
W2 IND Lee T 6:00 pm – 9:00 pm
MET CS 580 Health Informatics
Fall ‘12

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

Section Type Instructor Location Days Times
B1 IND Brusic SMG 302 T 6:00 pm – 9:00 pm
OL IND Staff ARR
MET CS 581 Electronic Health Records

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. This course will focus on real-world use and deployment of EHRs through readings, hands-on labs and case studies. Students will: (1) Learn the functionality of EHRs through hands-on labs; (2) Learn the technical infrastructure required for EHRs including distributed architecture, network and security design; (3) Understand how EHRs change healthcare delivery workflows and how to manage that change; and (4) Learn best-practices for deploying EHRs including project management, typical budgets, system selection and governmental requirements and funding.  [ 4 cr. ]

MET CS 593 Special Topics

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

MET CS 599 Biometrics

Automatic and reliable identification of individuals for issuing official documents (e.g., passport and visa) and providing access to secure facilities (e.g., military base) and proprietary information (e.g., corporate websites) has become an essential part of our modern networked society. Biometric recognition systems utilize the physiological or behavioral characteristics of an individual for identification. By using biometrics, it is possible to establish an identity based on "who you are", rather than by "what you possess" (e.g., an ID card) or "what you remember" (e.g., a password). In this course we will study the fundamental and design applications of various biometric systems based on fingerprints, voice, face, hand geometry, palmprint, 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. ]