Northeastern University Undergraduate Catalog
course descriptions
arts and sciences
business administration
computer science
cooperative education
criminal justice
engineering
engineering technology
health sciences
phys. education and dance
rotc
general studies
esl

academic programs
the university


NU HOME


c o m p u t e r     s c i e n c e

COM 1100 Fundamentals of Computer Science     4 QH
Introduces computers and computer programming. Studies basic concepts of a high-level language such as data types, variables, assignment, expressions, statements, and input/output. Surveys structured programming tools including flow control constructs, procedures and functions, parameters, local variables, and user-defined data structures. Discusses character strings and 1-dimensional arrays. Introduces graphics and animation. Emphasizes the systematic design of programs using structured components. Prereq. An interest in programming computers.

COM 1101 Algorithms and Data Structures 1     4 QH
Introduces algorithms, data structures, abstraction, and encapsulation. Examines arrays, stacks, classes, and templates. Discusses the creation of a data structure in layers using composition of simpler components. Uses the concept of class and template to encapsulate the functions and operations on a data structure. Studies specific classes for arrays, stacks, queues, complex arithmetic, polynomials, and function objects. Introduces dynamic memory allocation for arrays and simple linked lists. Examines sorting and searching techniques and introduces recursion. Prereq. COM 1100 or equivalent.

COM 1102 Functional Programming and Its Applications     4 QH
Introduces the fundamental concepts and applications of functional programming based on procedural and data abstraction. Discusses the relation between functional programming and symbolic processing as implemented in LISP-like languages. Covers simple applications selected from artificial intelligence, data-driven design, and programming language design and implementation. Prereq. COM 1101.

COM 1105 Computer Science and Its Applications     4 QH
Provides an opportunity for students of all majors to understand and experience the computer science field and to become informed and intelligent users of its tools. Explores using the computer as a fundamental component of the problem-solving process. Discusses basic principles and provides hands-on experience with a word processor, a spreadsheet package, a database management system, and a presentation manager. Not open to computer science or business administration majors.

COM 1121 Computer Science Overview 1     1 QH
Introduces ideas and skills that are necessary for success in the computer science field. Examines the relation between personal goals and professional standards. Studies work habits, time management, organizational skills, interpersonal skills, and commitment. Raises issues of ethics and responsibility. Discusses thinking skills that are needed in computer science and introduces problem-solving exercises designed to develop these skills. Introduces readings from the software literature to illustrate the variety of skills needed in industry. Prereq. Computer science majors only.

COM 1122 Computer Science Overview 2     1 QH
Introduces the UNIX operating system, the Internet, and other important systems. Discusses their basic concepts and history. Introduces ethical issues such as privacy, security, reliability, and intellectual property. Prereq. Computer science majors only.

COM 1130 Computer Organization and Design     4 QH
Discusses how a computer system works and why it performs as it does. Topics include assembly language (programs, call/return, stack frames), arithmetic (representations and algorithms), digital design (implementation of an RISC subset), and organization (memory hierarchy). Prereq. COM 1101 or permission of instructor.

COM 1150 Presentation of Information     4 QH
Discusses the presentation of information as text, hypertext, outlines, numbers, tables, graphics, diagrams, maps, and annotated images. Emphasizes the relation between the discovery of meaning in raw information and the effective presentation of that information. Describes the principles and theories that guide the selection of visual means to present information. Introduces basic concepts of mathematics and statistics so that the visual and numerical methods for studying information may be compared. Utilizes assorted software tools to create effective presentations and also discusses the strengths and limitations of current computer technology. Prereq. COM 1105 or equivalent. Computer Science majors may take for general elective credit only.

COM 1160 Programming Using Visual Tools     4 QH
Provides an introduction to programming using a high-level programming language. Introduces students to the basic concepts of computation (objects, data, decisions, loops, functions) using a high-level visual language that provides support for the rapid development of a graphical user interface. Emphasizes the ease of development using software toolkits. Develops programming skills through a sequence of projects that result in simple and useful programs. Prereq. COM 1105 or equivalent. Not open to Computer Science majors.

COM 1201 Algorithms and Data Structures 2     4 QH
Continues the study of algorithms, data structures, abstraction, and encapsulation. Introduces structures that utilize arrays and/or links in more sophisticated ways. Studies linked lists, trees, heaps, priority queues, and hashing. Discusses efficient sorting (quicksort and heapsort) and introduces experimental analysis or algorithms. Examines several design issues, including selection of structures based on what operations need to be optimized (insertion, deletion, traversal, searching, sorting, evaluation), encapsulation of algorithms using class and template techniques, and how and when to use recursion (versus explicit stack-based techniques). Introduces graph algorithms and structures if time permits. Prereq. COM 1101 or equivalent.

COM 1204 Object-Oriented Design     4 QH
Introduces the philosophy and methodology of object-oriented software design and the techniques of object-oriented programming. Discusses the design and implementation of individual classes and the tradeoffs in designing collections of classes. Introduces class libraries and application frameworks. Examines simple design patterns and compares object-oriented design to other software design paradigms. Applies object-oriented design to several medium-sized projects. Prereq. COM 1201 or permission of instructor.

COM 1205 Software Design and Development     4 QH
Presents the latest ideas and techniques in software methodology and provides a means for students to apply these techniques. Students, working in groups, will be expected to design, implement, test, and document a large software project. Prereq. COM 1201, COM 1204.

COM 1230 Introduction to UNIX Tools     4 QH
Introduces the essentials of UNIX tool programming (with a bent toward systems administration) via the use of high-level programming languages, utilities, and toolkits. Topics include UNIX shells and essential utilities, Perl, Tcl/Tk, system and network security issues, and high-level networking and protocol basics. Provides students with an opportunity to learn the tools and programming languages that will help them make the best use of UNIX (and the myriad other operating systems where the tools have been ported). This course does not qualify as a computer science elective, but computer science majors may take this course as a free elective.

COM 1315/IS 1315 Database Design     4 QH
Focuses on the use and properties of relational database management systems. Uses the entity-relationship model on example problems. Presents the SQL language. Topics may include indexing, query optimization, and object-oriented databases. Requires implementing a database schema and writing a short application program on a commercial database management system. Prereq. COM 1101 or programming experience in a high-level language. Nonmajors with programming experience in C are welcome.

COM 1317 Transaction Processing Systems     4 QH
Focuses on the concepts and practice of modern transaction processing systems in a distributed setting. Describes the overall architecture of systems such as TP monitor, recovery manager, log manager, and lock manager. Discusses the principles of DO/UNDO/REDO logging such as the write-ahead log rule and the force log-on-commit rule. Describes compensation log records, checkpoint and restart recovery procedures, two-phase commit, lock tables, granularity of locking, and two-phase locking. Prereq. COM 1130, COM 1201, and COM 1315.

COM 1320/IS 1320 Information Retrieval     4 QH
(Register for IS 1320) Covers the design principles and techniques for organizing and searching large heterogeneous data collections. Topics covered include retrieval models/ text and hypertext representation and indexing; query formulation and search strategies; browsing, information visualization and relevance feedback; and evaluation metrics. Advanced topics may include distributed information retrieval, knowledge-based approaches, and retrieval from multimedia databases. Prereq. COM 1201.

COM 1330 Operating Systems     4 QH
Introduces the basic concepts underlying computer operating systems and provides hands-on experience with their implementation. Covers the basic structure of an operating system: hardware and application interfaces, processes, threads, synchronization, interprocess communication, processor allocation, deadlocks, memory management, file systems, and input/output control. Uses examples from many real operating systems (UNIX, MS-DOS, Windows NT) to reinforce concepts. Prereq. COM 1130 and COM 1201.

COM 1335 Distributed Operating Systems     4 QH
Covers distributed operating systems; communication: ATM, client-server, remote procedure call; processors, processes, and threads; distributed file systems; security. Uses case studies. Includes programming on workstations in labs. Prereq. COM 1330.

COM 1337 Computer Communication Networks     4 QH
Introduces the underlying concepts and principles of computer networks. Presents the different components of a network and how these components fit together. Emphasizes the design and implementation of network software that transforms raw hardware into a richly functional communication system. Real networks (such as the Internet, ATM, Ethernet, Token Ring) will be used as examples to reinforce the concepts and demonstrate various protocols. Also covers applications such as electronic mail and the World Wide Web. Topics include introduction to communications connectivity and standards; layered architectures; ISO/OSI and TCP/IP reference models; data transmission, synchronization, and multiplexing; error handling, link control, and protocol operations; local area networks; network interconnection; high-speed networks; wide area networks; internetworking; transport layer services; and higher layers and applications. Prereq. COM 1201 and COM 1130.

COM 1340 Recursive Thinking     1 QH
Offers an introduction to recursive thinking, recursive data types, and to functions defined by induction of the structure of recursive data. Prereq. COM 1201 and MTH 1137.

COM 1350 Automata and Formal Languages     4 QH
Covers finite-state machines and regular expressions; context-free grammars; properties and decidability problems of regular and context-free languages; pushdown automata; pumping theorems for regular and context-free languages; Turing machines, ChurchÕs thesis, and the halting problem; and applications to compilers, artificial intelligence, and pattern recognition. Prereq. COM 1201 and MTH 1137.

COM 1355 Compiler Design 1     4 QH
Implements lexical analyzers and parsers as specified by regular expressions and context-free grammars. Emphasizes the use of LALR(1) or LL(1) parser generators. Covers basic code generation. Uses a hands-on approach, including either a sequence of programming assignments or a project. Prereq. COM 1130 and COM 1350.

COM 1358 Analysis of Programming Languages     4 QH
Covers run-time behavior of programming languages; interpreters; static and dynamic scoping; parameter-passing mechanism; implementation of functions and recursion; and features of current languages and their implementation. Prereq. COM 1102 or COM 1340 and COM 1350.

COM 1370 Computer Graphics     4 QH
Focuses on characteristics and programming of graphics output devices. Presents basic point and line drawing, two-dimensional displays; clipping and windowing. Surveys pictures; data structures and display file organization; and interaction; graphical input and event-driven programs. Includes some three-dimensional drawing. Prereq. COM 1201 and MTH 1301.

COM 1390 Algorithms     4 QH
Introduces the basic principles and techniques for the discovery, design, analysis, and implementation of efficient algorithms. Sample algorithms will be drawn from sorting and searching, graph algorithms, string matching algorithms, greedy algorithms, and dynamic programming. Analysis uses both theoretical and experimental techniques. The course concludes with a discussion of Òhard problemsÓ for which no efficient algorithms are known and will introduce the concept of NP-complete problems. Prereq. COM 1350.

COM 1391 Data     4 QH
Examines methods and techniques for representation, organization, transformation, and security of data. Studies fundamental structures such as sets, graphs, and finite functions. Examples focus on large objects such as images, video, and sound, and on large systems such as file systems, data bases, and networks. Prereq. COM 1390.

COM 1400 Data Parallel Computing     4 QH
Introduces the basic concepts of parallel computer architectures, network topologies, and data parallel programming. Emphasizes SIMD machines (with mesh or hypercube interconnections) and networks of workstations. Studies fundamental data structures and data parallel algorithms for matrix operations and fast fourier transforms. Examines graph and geometric computations for complexity and performance characteristics. Requires a significant amount of programming to complete course assignments. Prereq. COM 1390, MTH 1125, and MTH 1301.

COM 1410/IS 1410 Artificial Intelligence     4 QH
Focuses on approaches to making computers act intelligently by studying current methods for automated understanding, problem solving, optimal search, knowledge representation, vision, and learning. Students perform experiments with semantic nets, logical deduction systems, evidential reasoning systems, and/or neural nets. Prereq. COM 1102 or COM 1340 and COM 1201.

COM 1621 Computer Science Seminar     1 QH
Prepares students in methods of oral presentation of a topic in computer science. Describes techniques in preparation of overheads and other visual aids and their appropriate and effective use. Requires students to give a 20Ð30 minute oral presentation with overheads on a topic of their choice. Prereq. Computer science seniors only.

COM 1721, COM 1722, COM 1723 Freshman Honors Seminar 1, 2, and 3     1 QH each
Offers a seminar course for freshman honors students in computer science and for freshman honors students in other majors who are concurrently taking COM 1100, COM 1101, or COM 1201, respectively, or who have completed these courses. Introduces a variety of topics that extend the material in the standard freshman computer science courses or go beyond the scope of these courses. Prereq. Enrollment in the honors program or permission of the instructor.

COM 1770 Computer Science Seminar (Honors)     4 QH
Offers a capstone course for computer science honors students. Exposes students to a variety of computer science topics of current interest, and provides an opportunity to improve skills in presenting technical material. Requires students to prepare a one-hour presentation of professional quality on a topic of interest in computer science. Requires the student to write paper on the same topic. Prereq. Computer science seniors in the honors program or permission of instructor.

COM 1777 Honors Adjunct Computer Science     1 QH
Allows honors students who do not have an honors section to do honors work in one of the computer science elective courses while enrolled in the regular course.

COM 1800 Directed Study in Computer Science     4 QH
Provides students strong in computer science and related sciences a chance to develop the art and skill needed to work independently and creatively in computer science. Directed study can be used as an opportunity to examine familiar material in fresh ways or to explore new material that is not offered in formal courses. Prereq. Permission of the instructor; may be repeated for credit.

COM 1805 Readings in Computer Science     2 QH
Selected readings under the supervision of a faculty member. Prereq. COM 1100, COM 1101, COM 1201, COM 1204, and permission of instructor. May be repeated for credit.

COM 1810 Topics in Computer Science     4 QH
Lectures by faculty on current topics in computer science. Topics vary from quarter to quarter. Prereq. COM 1100, COM 1101, COM 1201, COM 1204, and permission of instructor. May be repeated up to three times for credit with changes in topics.

COM 1820 Computer Science Undergraduate Thesis     4 QH
Interested students should contact the College for approval and registration information. Prereq. COM 1100, COM 1101, COM 1201, COM 1204, and permission of thesis adviser and approval of the Undergraduate Committee.

COM 1821 Computer Science Undergraduate Thesis Continuation     4 QH
Prereq. COM 1820. May be repeated for credit.

COM 1830 Computer Science Undergraduate Project     4 QH
Offer students the opportunity to develop a computer software or hardware artifact under the supervision of a project adviser. Prereq. COM 1100, COM 1101, COM 1201, COM 1204, and permission of the project adviser. May be repeated for credit with approval of the Undergraduate Committee.

COM 1831 Computer Science Undergraduate Project Continuation     4 QH
Prereq. COM 1830. May be repeated for credit.

BACK to TOP


Back to Computer Science Index

Arts and Sciences | Business Administration | Cooperative Education | Criminal Justice | Engineering | Engineering Technology | Health Sciences | Physical Education and Dance | ROTC | General Studies | English as a Second Language

Questions?
Contact the Registrar's Office
120 Hayden Hall
(617) 373-2300
reggie@lynx.neu.edu