Course Catalog
Course Catalog
Course Wizard
Course Search
College Wide
- Coll of Advancing&Prof Studies
- College of Education and Human Development
- College of Liberal Arts
- College of Management
- College of Nursing and Health Sciences
- College of Public & Community Service
- College of Science and Mathematics
- McCormack Graduate School of Policy and Global Studies
- School of Global Incl&Soc Dev
UGRD > CS
Computer Science
CS 105 An Introduction to Computer Concepts
Description:
This course presents an overview of the role of computers in society: their application and misapplication, their capabilities and limitations. Applications may include artificial intelligence, medical, aerospace and business use of computers. Computer hardware and associated technologies are discussed. Computer programming is taught from a non-mathematical, problem-solving point of view; the course objective is to help students acquire an understanding of the programming process, rather than to develop complex or extended computer programs. This survey course is not part of the computer science major sequence. Students planning to major in computer science should start with CS 110. More Info
Offered in:CS 108 An Introduction to Computation with Python
Description:
An introduction to some of the basic issues in computation through exercises in Python programming. Students will write relatively simple programs in several application areas, e.g. mathematics, graphics and biology. This is a good course for those who have no programing experience and who want preparation for taking CS 110; students learn about using an editor, program design, implementation, and testing. This is also a good course for scientists who wish to learn a popular scientific scripting language. More Info
Offered in:CS 110 Introduction to Computing
Description:
An introduction to computer programming: the concepts involved in use of a higher level language and the program development process. The goal of this course is proficiency in the design and implementation of programs of significant size and complexity. This course is quite demanding because of the length of the programming exercises assigned. This is the first course in the computer science sequence. CS 110 is taught using the programming language Java. Note: Credit toward a UMass Boston degree may be awarded for only one elementary programming course. No credit will be given for CS 110 to a student who has already completed a similar course. For instance, a student who has received the equivalent of CS 110 as transfer credit cannot take CS 110 for credit here. Students who are barred from receiving credit for CS 110, but who are not fully prepared for CS 210, should request permission to take CS 119 (below) as a means of remedying the deficiency. More Info
Offered in:CS 114L Introduction To Java
Description:
An introductory course in Java programming that exposes students to the concepts involved in using a higher-level, object-oriented programming language. The course will explain the program development process and give students lots of hands-on experience writing small Java programs. The course serves as a prerequisite to other IT courses. CS 114L and IT 114L are the same course. More Info
Offered in:CS 115L Introduction to Java Part 2
Description:
A second course in Java programming that exposes students to the concepts involved in using a higher-level, object-oriented programming language. This course, a continuation of CS 114, covers more advanced Java topics and gives students hands-on experience writing small and medium-size Java programs. This course and CS 110 may not both be taken for credit. CS 115L and IT 115L are the same course. More Info
Offered in:CS 119 Computer Language Supplement
Description:
This course addresses the dilemma of students who studied the equivalent of CS 110 in a language other than Java, but now need knowledge of Java in order to take CS 210. Such students can, with the permission of the department, register for CS 119 for two credits. They then make arrangements to attend a section of CS 110. They are required to do all the work of regular CS 110 students. However, CS 119 meets no core curriculum requirement and does not count towards any computer science major requirement. More Info
Offered in:CS 187SL Science Gateway Seminar I
Description:
This is a two-semester course on technology, in particular information technology (IT) and how it relates to our lives. Students will read both fiction and non-fiction where technology is an issue, and discuss it in written work and orally, both individually and in small groups. The overall goal is to learn about and discuss various facets of information technology and its social implications. More Info
Offered in:- TBA
CS 188SL Science Gateway Seminar II
Description:
This is a two-semester course on technology, in particular information technology (IT) and how it relates to our lives. Students will read both fiction and non-fiction where technology is an issue, and discuss it in written work and orally, both individually and in small groups. The overall goal is to learn about and discuss various facets of information technology and its social implications. CS 188SL and IT 188SL are the same course. More Info
Offered in:- TBA
CS 210L Intermediate Computing with Data Structures
Description:
The design and implementation of computer programs in a high-level language, with emphasis on proper design principles and advanced programming concepts, including dynamic data structures and recursion. The assignments are designed to introduce the student to a variety of topics in computing: data structures and ADTs, Lists, Stacks, Queues, Ordered Lists, Binary Trees, and searching and sorting techniques. The language of instruction is Java. CS 210L and IT 210L are the same course. More Info
Offered in:CS 240 Programming in C
Description:
C programming for programmers with prior knowledge of some high-level language (e.g., one semester of programming in Java). The course treats C as a machine-level language and as a general-purpose language; it covers number representation, masking, bitwise operations, and memory allocation, as well as more general topics such as dynamic data structures, file I/O, separate compilation, program development tools, and debugging. More Info
Offered in:CS 271L Introduction to Cognitive Science
Description:
Cognitive science is an interdisciplinary field fundamentally concerned with furthering our understanding of the development, underlying processes, and implementation of language, perception, problem-solving, learning, memory, and other intelligent capacities. This course offers an introduction to this science for all levels of undergraduate majors in psychology, computer science, biology, and other related fields. CS 271L and PSYCH 271L are the same course. More Info
Offered in:- TBA
CS 285L Social Issues and Ethics in Computing
Description:
This course explores some of the ethical and societal issues that are raised by computing. Topics include privacy, freedom of expression, intellectual property, liability, the effect of computing on social interaction, and human-computer interface issues. Students write an analytical paper on an appropriate topic and also present their findings to the class. CS 285L and IT 285L are the same course. More Info
Offered in:CS 310 Advanced Data Structures and Algorithms
Description:
A systematic study of the methods of structuring and manipulating data in computing. Abstract data types. The design and analysis of algorithms. Advanced techniques for program development and organization. More Info
Offered in:CS 320L Applied Discrete Mathematics
Description:
An introduction to the mathematical structures and concepts used in computing: sets, mathematical induction, ordered sets, Boolean algebras, predicate calculus, trees, relations and lattice theory. Formal and informal theories and corresponding mathematical proofs are taught. CS 320L and MATH 320L are the same course. More Info
Offered in:CS 341 Computer Architecture and Organization
Description:
Computer hardware concepts and hardware-level programming for C programmers. Topics include digital logic circuits, computer organization of a microprocessor system (i.e., how CPU, memory, and i/o interface chips are interconnected), serial and parallel port interfacing, hardware programming in C and C/assembler, interrupt programming, device drivers. The necessary assembly language is also covered. The course includes a hands-on lab meeting one hour per week. More Info
Offered in:CS 410 An Introduction to Software Engineering
Description:
This course covers all aspects of the software development process from initial specification to final validation of completed software design. Implementation methodologies are discussed in the context of a major team project, to be chosen according to student and instructor interest. Oral presentations by students are an important part of the course. More Info
Offered in:CS 420 An Introduction to the Theory of Computation
Description:
This course introduces such theoretical aspects of computing as models of computation, inherent limits on computation, and feasible computation. Topics include definition of computable functions (recursive functions, functions computable by Turing machines, functions computable in a programming language), unsolvability of the halting problem and related problems, the classes P and NP, finite automata, and context-free grammars. More Info
Offered in:CS 430 Database Management
Description:
Introduction to database systems, including database programming. The course covers relational algebra, SQL, object-relational systems, embedded programming, and basic transaction concepts. It covers database design, both entity-relationship modeling and normalization. More Info
Offered in:CS 436 Database Application Development
Description:
A study of database applications, that is, software systems that solve a particular real-world problem and hold their data in a relational database. The systems under study will also have a realistic user interface. Students will work in small groups on a real-world project specified and implemented during the term. Topics include system specification from user needs, analysis of dataflow and workflow, object design, database design, and client-server techniques. More Info
Offered in:CS 437 Database-Backed Web Sites & Web Services
Description:
Today, much programming is web-based. Web based programs serve up information from a Web site in a form that can be either read by a browser or processed by another program. This course introduces the student to the design and implementation of such web-based programs. More Info
Offered in:CS 444 An Introduction to Operating Systems
Description:
Description of current operating systems, with focus on one or two in particular. Topics include defining the operating system as distinct from the hardware on one side and software systems on the other; process concepts; memory management; CPU scheduling; device management; file systems; network support. More Info
Offered in:CS 446 Introduction to Internetworking
Description:
The objective of this course is to provide a practical understanding of computer networks, with emphasis on the Internet. The course starts with an overview of the Internet, its protocol layers, edge and core networks, access networks and physical media. The course then focuses on fundamental design and implementation concepts of the application, transport, and network layers of the Internet. More Info
Offered in:CS 447 Introduction to Multimedia Systems
Description:
Multimedia applications are ubiquitous, evidenced by their vast presence on the Internet. This course covers the basic fundamentals in the design and development of multimedia systems and applications. Three key elements are discussed at the introductory level: multimedia computing, multimedia databases, and multimedia networking. The topics include, but are not limited to, multimedia processing/compression/representations, multimedia content management and retrieval, and multimedia content streaming and distribution. Students are expected to work in groups to complete a semester-long project developing a system prototype. More Info
Offered in:CS 449 Introduction to Computer Security
Description:
The course will provide an introduction to the fundamentals of computer security, and will cover both general theoretical aspects as well as applied methods of computer security. The course will address the general concepts of confidentiality, integrity and availability of digital information, and will focus on aspects such as: risks and vulnerabilities; models and policies for access control; program security - buffer overflow attacks, malware, viruses; browser security; authentication and authorization; encryption; and an overview of applied data, operating system and network security (with emphasis on Internet security). The course will also address the aspect of privacy, which is tightly related to security and is becoming increasingly important in today's digital society. More Info
Offered in:- TBA
CS 450 The Structure of Higher Level Languages
CS 451 Compilers I
Description:
This course is an introduction to compiler organization and implementation, including formal specifications and algorithms for lexical and syntactic analysis, internal representation of the source program, semantic analysis, run-time environment issues, and code generation. Participants write a compiler for a reasonably large subset of a contemporary language, targeted to a virtual machine. More Info
Offered in:CS 460 Graphics
Description:
Topics include segmentation, windows and viewports, clipping, hidden lines, geometric transforms and data structures for memory management and device-independent graphics specifications. The course also considers Raster graphics and the GKS and ACM Core. It covers both the practice of, and the underlying mathematical foundation for, interactive graphics programming. Students need good programming skills and a mastery of linear algebra. More Info
Offered in:- TBA
CS 470 An Introduction to Artificial Intelligence
Description:
An introduction to the main techniques of Artificial Intelligence: state-space search methods, semantic networks, theorem-proving and production rule systems. Important applications of these techniques are presented. Students are expected to write programs exemplifying some of techniques taught, using the LISP language. More Info
Offered in:CS 478 Independent Study
Description:
Work done by a student or group of students under faculty supervision on material not currently offered in a regularly scheduled course. Students wishing to undertake such work must first find a faculty member willing to supervise it; the work to be completed must be approved by the department chairperson. More Info
Offered in:CS 480 Special Topics
Description:
An advanced course offering intensive study of selected topics in computer science. Course content varies and will be announced prior to registration. More Info
Offered in:CS 495 Practicum in Computer Science
Description:
This course is intended to enhance academic studies by providing an industrial context for learning new concepts and skills. It will help to prepare the student for the transition from an academic program to eventual employment in the computer industry. This course is not open to graduate students. More Info
Offered in:CS 498 Honors Thesis
Description:
The design and execution of a significant research project under the guidance of a faculty advisor. Successful completion and oral defense of the thesis is necessary to qualify for Honors in Computer Science. Both the instructor and the project must be chosen and approved prior to the start of the course. Offered every semester. More Info
Offered in: