Computer Science
View courses in
- Computer Science
- All Departments
- Actuarial Science
- Administrative Sciences
- American & New England Studies
- Anthropology
- Art History
- Arts Administration
- Biology
- Chemistry
- Communications/Advertising
- Computer Science
- Criminal Justice
- Earth Sciences
- Economics
- English
- French
- Gastronomy
- History
- Humanities
- Interdisciplinary Studies
- Management
- Mathematics, Statistics
- Philosophy
- Physics
- Political Science
- Psychology
- Religion
- Science & Engineering Program
- Sociology
- Spanish
- Urban Affairs
-
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. -
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. -
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. -
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. -
MET CS 566: Analysis of Algorithms
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. -
MET CS 568: Language Theory and Compilers
Automata theory, grammar, and language structure, lexical analysis, syntactic analysis, semantic analysis, code generation, and code optimization techniques. Students design and implement a compiler. Laboratory course. -
MET CS 575: Operating Systems
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. -
MET CS 579: Database Management
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. -
MET CS 580: Biomedical Information Technology
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 medial 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. -
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. -
MET CS 593: Special Topics
Prereq: consent of the instructor. -
MET CS 594: Special Topic: Medical Informatics
This course provides an overview of the basic concepts of medical informatics. Fundamentals of biology and medicine are covered via a computing and information oriented treatment of the main concepts of human biology. Biological structure and function is presented at three levels or organization: organism, cell, and gene. Each level includes examples of principal anatomic and physiologic concepts, presented from a computational perspective. The course further covers the main computational methods in biomedicine. Topics include introduction to bioinformatics, clinical information systems, medical imaging systems and biomedical data mining.. Topics in security, confidentiality and privacy of medical information systems are also presented, such as medical data assurance, biometrics and privacy protection techniques. -
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. -
MET CS 601: Web Application Development
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. -
MET CS 605: Human-Computer Interface Design with .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, hands-on application of learned principles using .NET. Laboratory course. -
MET CS 625: Business Data and Communication Networks
This course presents the foundations of data communications and takes a bottom-up approach to computer networks. It begins with an overview of modern data communication requirements, and basic distributed data concepts. A brief history of the Internet is presented followed by the basics of the OSI and TCP/IP computer networks models. The Physical Layer is presented in the form of basic Data communication concepts over various transmission media, wireless transmission, and the telephone system. The Data Link Layer presentation deals with design issues, error detection and correction, and the Medium Access Sub-layer covers channel allocation problems, multiple access protocols, IEEE standard 802 for LANs and WLANs, as well as bridges, switches and high-speed LANs. The basic functions of the Network Layer are explained in the context of design issues, internetworking, and the network layer in the Internet. The Transport Layer includes the transport service and elements of transport protocols, as well as the TCP and UDP Internet transport protocols. The Application Layer issues cover the main distributed applications, such as electronic mail, DNS, ftp, www etc. The course concludes with an overview of basic network security and management concepts. -
MET CS 632: Information Technology Project Management
This course provides students with a comprehensive overview of the principles, processes, and practices of software project management. Students learn techniques for planning, organizing, scheduling, and controlling software projects. There is substantial focus on software cost estimation and software risk management. Students will 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. -
MET CS 633: Distributed Software Development and Management
Contemporary communication costs allow software applications to be produced via geographically distributed development (GDD). In addition to the traditional challenges of specifying and developing IT. systems, GDD projects must accommodate differing cultures, time zones, and development methodologies. This course prepares students to justify,lead, participate in, and maintain such projects. Students work in geographically dispersed teams and produce documented applications. Lab course. -
MET CS 635: Network Design and Implementation
Concepts and fundamental design principles of Computer Networks and Internet that have contributed to the modern networks implementation. Survey of new trends in networks and Internet/Intranet with design of real campus networks. Topics include discussion of fundamental aspects of Internet applications layer (HTTP, FTP, DNS), TCP, UDP socket programming, reliable data transfer, congestion control, network layer (Ipv4 and Ipv6) and routing, link layer and Local Area Networks (LAN), multimedia networking (RTSP, RTP, RSVP, DiffServ), and security in computer networks. -
MET CS 651: Web Development with .NET
This course provides a comprehensive introduction to building web applications and web services using the Microsoft .NET (Version 3.5) development platform. The key technologies covered include the C# programming language (Version 3.0), the ASP.NET (Version 3.5) system for developing web applications and web services using C#, and ADO.NET and LINQ (Language INtegrated Query) for data access. In addition to the above topics, we will also cover Windows Communication Framework (WCF) and Windows Presentation Framework (WPF). All programming will be based on Microsoft Visual Studio 2008 available through BU's MSDNAA. A copy of the software will be provided to the students.
Note that this information may change at any time.

