Undergraduate Brochure

Computer Science Department

UMass Lowell


Brochure Contents

A Message from the Undergraduate Coordinator

The Computer Science Major

University Core/General Education Requirements

A. Old General Education Requirements

B. New General Education Requirements

Major Requirements

A. Computer Science Courses

    The Computer Science Project Sequence

B. Supporting Courses in Science and Mathematics

C. Additional Writing Requirement

D. Science Elective / Quantitative Elective Courses

E. The Ethics Requirement

F. General Elective Courses

G. Credits Required for the Degree

H. Academic Standing

BS/MS Program

Frequently Asked Questions

Descriptions of Courses

Required Courses

Computer Science Electives

Courses for Non-Majors

Back to top


A Message from the Undergraduate Coordinator

Welcome to the Computer Science Department of the University of Massachusetts Lowell.  We aim to offer the best undergraduate program in Computer Science in the region.  We are working to achieve this goal in the following ways:

We realize the importance of excellent classroom teaching to our students.

Our faculty includes experts in important cutting-edge technologies such as multimedia, graphics, scientific visualization, database systems, data communications, robotics, human factors, and software-development methodologies.

We have an excellent record for placing students in a competitive job market.

Because many computer scientists pursue graduate studies, we prepare our undergraduates with the fundamentals needed for graduate work.

Every computer science major has a faculty advisor. Feel free to see him or her or me should you need advice or assistance during your stay with us. I wish you many successes in your career at Lowell.

Jesse M. Heines, Undergraduate Coordinator

Back to Table of Contents


The Computer Science Major

Computer science is the study of the design and use of computer systems. One goal of the Computer Science Department is to provide the student with the tools to identify those problems that are best solved by means of a computer and to design and implement effective, economical, and creative solutions.

The curriculum's required courses give the student a strong foundation in both the software and hardware aspects of computing, as well as the mathematics and science that underlie the discipline. The electives in the later years allow the student to study more deeply some particular area of computer science.

Graduates of the Department of Computer Science are well trained in systems software design and implementation and have found ready employment in local companies. The Department’s courses and programs continue to respond to changing requirements for professional employment in computer science.

It is the responsibility of the student to understand and fulfill University, College, and Department requirements. These requirements are described in the University catalog and other documents.

 Back to Table of Contents


University General Education Requirements

A. Old General Education Requirements (pre-2000)

Computer science majors automatically satisfy the Mathematics and Sciences parts of the pre-2000 General Education Requirement. The remaining requirements are as follows:

College Writing 6 credits
Literature 3 credits
Historical Studies 3 credits
Aesthetics 3 credits
Behavioral and Social Sciences 6 credits
Values, Concepts, and Choice 3 credits

In the course grid, the College Writing credits appear in the freshman year. The remaining 18 credits in the General Education Requirement are denoted "GER course."

B. General Education 2000 Requirements

For a general description of the current General Education requirement, please see

http://www.uml.edu/gened/requirements.html

For a list of courses that currently satisfy the General Education requirements, please see

http://www.uml.edu/gened/courses.html

Computer science majors typically satisfy the new Gen Ed requirements by

Back to Table of Contents


Major Requirements

A. Computer Science Courses

91.101 Computing I 4
91.102 Computing II 4
91.201 Computing III 4
91.203 Computer Organization & Assembly Language 4
91.204 Computing IV 3
91.301 Organization of Programming Languages 3
91.304 Foundations of Computer Science 3
91.305 Computer Architecture 3
91.308 Introduction to Operating Systems 3
91.404 Analysis of Algorithms 3
  Computer Science Project Sequence 6
  Computer Science Elective 3

 

The Computer Science Project Sequence

All Computer Science majors must take a one- or two-semester project course from an approved department list. Students who take an approved one-semester project course such as Compiler Writing must take two Computer Science electives; otherwise, one is needed. Students may not elect more than a total of 6 credits from any combination of the following: 91.401, 91.402, 91.460, and 91.490. Current project course sequences include

91.309 Database I
91.310 Database II

91.401 Software Project Lab I
91.402 Software Project Lab II

91.406 Introduction to Compiler Writing
  Computer Science Elective

91.411 Software Engineering I
91.412 Software Engineering II

91.413 Data Communications I
91.414 Data Communications II

91.413 Data Communications I
91.561 Computer Security I

91.420 Artificial Intelligence
91.421 Machine Learning and Data Mining

91.427 Graphics I
91.428 Graphics II

91.450 Robotics I
91.451 Robotics II

91.461 GUI Programming I
91.462 GUI Programming II

91.561 Computer Security I
91.562 Computer Security II

Because this list is subject to revision, students should check with their advisors for the latest information.

Some project sequences are not offered every school year. Thus, you should take the second course of a project sequence the semester after you take the first course of that sequence.

Computer Science Electives

Computer science electives appear in the "Computer Science Electives" section of this brochure. Most 500-level computer science courses can also be used as computer science electives. For example, undergraduate computer science majors are often qualified to take 91.502, 91.515, 91.521, 91.522, 91.538, 91.539, 91.540, 91.541, 91.543, or 91.546.

Back to Table of Contents

 

B. Supporting Courses in Science and Mathematics

92.131 Calculus I 4
92.132 Calculus II 4
95.141 Physics I & Lab 4
95.144 Physics II & Lab 4
92.231 Calculus III 4
92.321 Discrete Structures I 3
92.322 Discrete Structures II 3
92.386 Probability and Statistics I 3
16.265 Logic Design 3

 

Back to Table of Contents

 

C. Additional Writing Requirement

If you satisfy the writing requirement in the spring of 1998 or later, you do so with the course 42.220, Communications for Software Developers

Before spring of 1998, the writing requirement could be satisfied by other courses; for details see the Computer Science Dept. Policy Statement "The Writing Requirement."

Back to Table of Contents

D. Science Elective / Quantitative Elective Courses

Each student who became a computer science major before September 2005 must take two 3-credit courses in quantitative areas outside of Computer Science or Pure Mathematics. Courses in Applied Mathematics, Engineering, the Sciences and other areas of an advanced quantitative content satisfy this requirement. In the social sciences, courses that have calculus or mathematical statistics as prerequisites satisfy this requirement.

More information about this requirement can be found in the Computer Science Dept. Policy Statement "The Quantitative Elective."

Students who become computer science majors in September 2005 and later must instead satisfy a requirement for additional credits in the natural sciences.  The details of this requirement can be found in the Computer Science Dept. Policy Statement "Science Electives."

Back to Table of Contents

E. The Ethics Requirement

For a complete description of the Ethics Requirement, please see the document The Ethics Requirement.

Back to Table of Contents

F. General Elective Courses

Courses from any academic department are acceptable as general electives. However, science, mathematics, and engineering courses, and courses with a computing component, if taken after Computing I has been taken, must be at a level higher than that of courses required by the Computer Science program.

For students entering the computer science major in September of 2005 and later, at least one of the general electives must be in a non-technical area, that is, not in the sciences, mathematics, engineering, computer science, and similar technical disciplines.

More information about allowed general electives can be found in the Computer Science Department Policy Statement "General Electives."

Back to Table of Contents

G. Total Credits Required for the Degree

Students must take an appropriate course for each slot of the appropriate suggested curriculum. Each course can fill only one slot. Most students accumulate at least 120 credits by filling the required slots. In any case, the University requires 120 credits. (See the document "How Many General Electives Must I Take?")

Back to Table of Contents

H. Academic Standing

Beginning with the first semester of the sophomore year, and every semester thereafter, each computer science major must maintain

a cumulative grade point average (GPA) of at least 2.5 in all computer science courses, including project courses and electives.

a cumulative GPA of at least 2.3 in all courses.

Students who fail to satisfy these requirements are considered to be on probation in the computer science major.  Any student on probation will have his or her records reviewed by his or her advisor and may be dropped from the computer science major.  Thus, students on probation should meet with their advisors.

Back to Table of Contents


BS/MS program

The Computer Science Department has a BS/MS degree program. Two advantages of the program are (1) the ability in some cases to count computer science courses for both your BS program and your MS program and (2) being accepted into the MS program without taking the Graduate Record Examination.

To be accepted in this program, you must have good grades and apply in your junior year. There are many rules governing eligibility for the program. Applicable Graduate School rules appear in the 1993-1996 Graduate School Catalog, on page 16. A copy of this catalog may be examined in the CS Office. 

There are advantages and disadvantages to getting your Masters degree at the same place you got your BS. If you are interested in the BS/MS program, please discuss it with your academic advisor or other faculty member.

For more information on the BS/MS program, please see the document "The BS/MS Program at Lowell."  Policy concerning the BS/MS program is managed by the Graduate School (934-3010) and the CS Graduate Coordinator (not the Undergraduate Coordinator).

Back to Table of Contents


Frequently Asked Questions

How can I become a computer science major?

See the document "Changing majors."

Who is my advisor?

See the document "Faculty Advisors."

How do I get cleared for graduation?

You must fill out a Declaration-of-Intent-to-Graduate (DIG) Form and file it with the Undergraduate Coordinator by deadlines published in the University calendar. The calendar is typically at the back of each semester’s schedule book. By the time you are a junior, you should periodically check this calendar for due dates for DIG forms.

Can I take computer science courses offered by Continuing Education?

Not always. See the document "Can I Take Computer Science Courses through Continuing Education?"

Is there a computer science minor?

Yes. See the document "The Computer Science Minor."

Back to Table of Contents


Descriptions of Courses

Required Courses

91.101 COMPUTING I 4 credits

Introduction to computing environments; introduction to an integrated development environment; C, C++, or a similar language. Linear data structures; arrays, records, and linked lists. Abstract data types, stacks, and queues. Simple sorting via exchange, selection, and insertion. Basic file I/O. Programming style, documentation, and testing. Ethical and social issues. This course includes extensive laboratory work.

91.102 COMPUTING II 4 credits

Pointers. Lists, stacks, and queues. Binary trees, AVL trees, n-ary trees. Advanced sorting via quicksort, heapsort, etc. Sets and hashing. Characters and strings. Graphs. Advanced file techniques. Recursion. Programming style, documentation, and testing. Ethical and social issues. This course includes extensive laboratory work.

Prerequisite: 91.101.

91.201 COMPUTING III 4 credits

Object-oriented programming. Classes, methods, polymorphism, inheritance. Object-oriented design. C++. UNIX. Ethical and social issues.

Prerequisite: 91.102.

91.203 COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE 4 credits

The organization and operation of a conventional computer, including principal instruction types, data representation, addressing modes, program control, and I/O. Assembly language programming, including instruction mnemonics, symbolic addresses, assembler directives, system calls, and macros. The usage of text editors, symbolic debuggers, and loaders. The use of pseudocode in guiding structured assembly language programming.

Prerequisite: 91.102.

91.204 COMPUTING IV  3 credits

Development of large software projects. Software engineering principles and practice. Object-oriented analysis and design.. CASE productivity aids.  Development techniques for program-translation software, web software, and database systems.

Prerequisite: 91.201

91.301 ORGANIZATION OF PROGRAMMING LANGUAGES 3 credits

Analytical approach to the study of programming languages. Description of the salient features of the imperative, functional, logical, and object-oriented programming paradigms in a suitable meta-language such as Scheme. Topics include iteration, recursion, higher-order functions, types, inheritance, unification, message passing, orders of evaluation, and scope rules. Elementary syntactic and semantic descriptions. Implementation of simple interpreters.

Prerequisites: 91.204.

91.304 FOUNDATIONS OF COMPUTER SCIENCE 3 credits

A survey of the mathematical foundations of Computer Science. Finite automata and regular languages. Stack Acceptors and Context-Free Languages. Turing Machines, recursive and recursively enumerable sets. Decidability. This course involves no computer programming.

Prerequisite: 92.322

91.305 COMPUTER ARCHITECTURE 3 credits

An examination of the basic functional components of a computer system including the CPU, memory systems, and I/O systems. Each of these three areas will be developed in detail with a focus on the system design and component integration. Topics will include CPU control and ALU operation, computer timing, data address and I/O bus activity, addressing model, programmed and DMA I/O, and instruction sets and microcode.

Prerequisites: 91.203, 16.265, 91.102.

91.308 INTRODUCTION TO OPERATING SYSTEMS 3 credits

An introduction to major operating systems and their components. Topics include processes, concurrency and synchronization, deadlock, processor allocation, memory management, I/O devices and file management, and distributed processing. Techniques in operating system design, implementation, and evaluation.

Prerequisite: 91.305.

91.404 ANALYSIS OF ALGORITHMS  3 credits

This course distinguishes between an abstract data type (such as a list, stack, queue, tree, or hash table) and a data structure that represents how the abstract data type is represented and stored in the computer’s memory.  Algorithms are studied for manipulating information in a variety of fundamental abstract data types and data structures.  Information tasks such as searching, retrieving, inserting, updating, sorting and deleting arise frequently in Computer Science problems that are central to many computer applications.  The course focuses on algorithms to correctly and efficiently accomplish these types of core tasks.  Algorithms are described using high-level pseudocode.  Running time and storage requirements are quantified using asymptotic analysis.

Prerequisites: 91.201, 92.322.

Back to Table of Contents

 

Computer Science Electives

91.309 DATABASE I     3 credits

This course surveys topics in database management systems. Topics include access methods, data models (relational, semantic,  object-oriented, object-relational), query languages, database design, query optimization, concurrency control, recovery, security, integrity, client-server architecture, and distributed database systems. A database application project  and a systems project will be assigned.

Prerequisite: 91.204

91.310 DATABASE II     3 credits

Advanced topics in database systems, including distributed database systems, query optimization, concurrency control, deductive database systems, object-oriented database systems, and web databases. Additional topics may include scientific databases, genetic databases and parallelism. Software engineering principles will be applied to the development of components of a database management system.

Prerequisite: 91.309

91.321 NETWORK AND SYSTEMS MANAGEMENT     3 credits

This course will cover technical aspects of UNIX and VMS, and will prepare the student to manage a complex, heterogeneous computing environment. Students should expect substantial amounts of experience with all activities related to the management of the Computer Science Department network.

91.330 SYMBOLIC LOGIC 3 credits

Propositional logic and first-order predicate logic. Natural deduction and other proof systems. Semantics. Applications to natural and artificial languages.

91.350 - 91.354 SELECTED TOPICS variable credit 1-3

Depends on faculty interest, student demand, and developments in the field. May include file management, software tools.

Prerequisite: Junior status

91.401 SOFTWARE PROJECT LAB I     3 credits

Specification, design, and implementation of a one- or two-semester software project proposed to a directing faculty member. Projects may be proposed as a one- or two-semester effort based on faculty approval. A two-semester effort requires subsequent registration for 91.402.

Prerequisite: Students must submit a proposal to the directing faculty member, obtain his/her signed approval, and forward a copy of the signed proposal to department chairperson.

91.402 SOFTWARE PROJECT LAB II     3 credits

A continuation of 91.401. Students must submit a proposal to the directing faculty member, obtain his/her signed approval, and forward a copy of the signed proposal to the department chairperson.

Prerequisite: 91.401

91.403 OPERATING SYSTEMS PRACTICUM     3 credits

Construction of real operating systems. Topics will include case studies of systems such as UNIX, MULTICS, and CP/M; structured design; and performance techniques. Group projects will be employed to design, build, and evaluate various operating systems modules.

Prerequisites: 91.308 and permission of instructor

91.405 PARALLEL PROCESSING 3 credits

A study of parallel architectures and parallel algorithms, including classification of architectures, characterization of performance, design of parallel algorithms, evaluation of parallel software, and languages for parallel processing. Students will write and execute programs for several different parallel machines.

Prerequisite: 91.308

91.406 INTRODUCTION TO COMPILER WRITING 3 credits

Includes both theory and practice. A study of grammars–specification and classes; the translation pipeline–lexical analysis, parsing, semantic analysis, code generation and optimization; and syntax-directed translation. Use of automatic generation tools in the production of a complete compiler for some language.

Prerequisites: 91.204

91.411 Software Engineering (formerly 91.412) 3 credits

Software Engineering is an essential discipline for any computer science major, as in this class you will learn skills that will help you design and build software projects for advanced CS classes.  This course provides an introduction to systematic techniques for development of software, i.e., "the Engineering of Software." Topics to be discussed include software life-cycle, group coordination, requirement specification, software design, software testing, and software maintenance. Emphasis is given to the development of one complex software system and the system documentation necessary for such a complete software product. The students will mock the software cycle via a medium-to-large semester-long project.

Prerequisite:  91.204

91.412 Software Engineering II   3 credits

A continuation of Software Engineering I

Prerequisite: 91.411

91.413 DATA COMMUNICATIONS I   3 credits

Techniques of data transmission over analog lines. Properties of communication channels. Error control techniques. Line-, message-, and packet-switching techniques. Communication software architectures.

Prerequisites: 91.203, 91.308

91.414 DATA COMMUNICATIONS II  3 credits

Continuation of 91.413 with selected topics of current interest.  Topics will include: SNMP, Network design, Multimedia Communications, Multicast Routing, Security and Privacy and detailed analysis of specific routing protocols. A laboratory with Network Management and packet analysis software will be used to support some of the projects.

Prerequisites: 91.413

91.420 ARTIFICIAL INTELLIGENCE 3 credits

 Topics to be covered include tree and graph searching algorithms (breadth first, depth first, uniform cost, A*), heuristic search methods, games (min-max, alpha-beta pruning), first-order logic,   Bayesian networks, neural networks, reinforcement learning and genetic algorithms.  

Prerequisite: 91.301

91.421 Machine Learning and Data Mining 3 credits

Prerequisite: 91.420

91.422 COMPUTER VISION 3 credits

An introductory course in computer vision. This course covers all the recognized computational aspects of vision. It presents computational techniques whenever possible, formulae, algorithms, and programs. Psychological theories are covered only to the extent that they have clear computational implications.

Prerequisite: Permission of instructor

91.423 KNOWLEDGE-BASED SYSTEMS 3 credits

Other topics in artificial intelligence not covered in 91.420, such as computer vision, speech recognition, robotics, expert systems, computer art, computer music.

 Prerequisites: 91.420 and permission of instructor

91.427 COMPUTER GRAPHICS I 3 credits

Introduction to graphics systems and concepts. History of graphics. Introduction to hardware, software, and mathematical tools. GKS, CGI, and other graphics languages. Graphics data structures and modeling. 2D mathematical tools for modeling and viewing. Input, archiving, and display architectures. 2D graphical algorithms and data structures. 3D mathematical tools (algorithms and data structures) for modeling and viewing. Introduction to hidden line and hidden surface removal.

Prerequisites: 91.201, 92.231

91.428 COMPUTER GRAPHICS II 3 credits

An advanced course in computer graphics for students familiar with basic issues in computer graphics. Details on hidden line and surface removal. PHIGS and other modeling languages. Data structures for 3D modeling. 2D and 3D curve and surface generation. Rendering, illumination, and color models. Realism through precision (ray tracing) and imprecision (fractals). Windowing and user interface management systems. Modern hardware architectures. Animation and simulation systems.

Prerequisite: 91.427

91.430 SEMANTICS OF PROGRAMMING LANGUAGES 3 credits

Introduction to the Semantics of Programming Languages. Axiomatic, operational, denotational, and translational semantics. Program specification. Program proofs using the techniques of Floyd and Hoare.

Prerequisites: 91.301 and 91.304

91.431 COMPUTATIONAL LOGIC  3 credits

Semidecision procedures for first-order logic and their correctness. Tableaus, unification, and resolution. Horn clauses and logic programming. Selected topics in areas such as nonstandard logics and architectures.

Prerequisites: 91.301 and 91.330

91.450 ROBOTICS I 3 credits

An introduction to robotics, including laboratory.  In the lab, students build and program robots.  Topics to be covered include sensors, locomotion, deliberative architectures, reactive architectures, and hybrid architectures.

Prerequisites: 91.201, 91.308, 92.322

91.451 ROBOTICS II 3 credits

Advanced topics in robotics, including laboratory.  Topics to be covered include map making, path planning, computer vision, and learning.  Research-level robots are used in the laboratories.

Prerequisite: 91.450

91.452 DIAGNOSTIC AND TEST SOFTWARE DESIGN 3 credits

Virtually all major hardware products include the design and implementation of diagnostic and verification software as part of the product life-cycle. This course will examine the details of such test software and the diagnostic software for various hardware devices such as disk and tape subsystems.

Prerequisite: 91.201, 91.204, 91.305

91.453 REAL-TIME PROGRAMMING 3 credits

A survey of the programming techniques needed for applications in which a computer monitors or controls a process whose logical sequence is asynchronous to that of the computer. Topics covered include polling, single and multiple interrupts, masked and vectored interrupts, synchronization mechanisms, critical sections, hardware interfaces, sampled-data systems, and feedback and control. Students will implement several microprocessor-based applications.

Prerequisites: 91.308, 16.265

91.455 Object-Oriented Design 3 credits

This course introduces the philosophy and methodology of object-oriented software design and the techniques of object-oriented programming. It discusses the design and implementation of individual classes and the tradeoffs in designing collections of classes. The latter part of the course focuses on design patterns. The students will apply object-oriented design to several medium sized projects.

Prerequisite: 91.411

91.456 SPEECH RECOGNITION AND SYNTHESIS 3 credits

This course surveys the techniques by which computer systems can generate and recognize human speech. Students will be introduced to all aspects of this interdisciplinary field (including computer science, artificial intelligence, acoustics, linguistics, psychology, physiology, physics, and signal processing). Working in teams, students will implement parts of a modern speech system and explore the capabilities and limitations of present day technology.

Prerequisite: permission of instructor.

91.457 COMPUTER SECURITY

This course has been replaced by graduate course 91.561, which is open to undergraduate computer science majors who have met its prerequisites.

91.458 COMPUTER PERFORMANCE EVALUATION 3 credits

The objectives of this course are (1) to provide both analytic and simulation skills useful in evaluating a computer system, and (2) to study available techniques of modeling a given system so that meaningful statistics (such as response times) can easily be obtained. The course will cover the following major areas: (1) review of probability theory and statistics; (2) queuing theory; (3) performance evaluations of time-sharing, batch, or mixed computer systems; (4) performance evaluations of distributed systems. Other topics such as performance measurement techniques, and data analysis will also be covered.

Prerequisites: 91.308, 92.386

91.459 HUMAN FACTORS IN THE DESIGN OF INTERACTIVE SYSTEMS 3 credits

This course sensitizes students to the factors one must consider in designing interactive systems. It gives them experience in developing interactive software for use by people other than themselves, and discusses tools and techniques for evaluating the effectiveness of interactive software. Course work consists of readings, class discussions, the researching and writing of a term paper, and the design and implementation of an interactive programming project.

Prerequisite: 91.201

91.460 SELECTED TOPICS Variable credit 1-3

Depends on faculty interest, student demand, and developments in the field. May include: computability, formal languages, automata, VLSI design, computer aided design (CAD), computer aided instruction (CAI), semantics of programming languages.

Prerequisites: Senior status, permission of instructor.

91.461 GUI PROGRAMMING I  3 credits

This is a first course in the design and implementation of graphical user interfaces (GUIs) for windowing environments.  The course involves numerous programming projects that are evaluated on design and layout of the user interface, coding style, and comprehensiveness of documentation.  The course may be taken on its own, but is intended to be followed by 91.461 to complete a two-course CS project sequence. 

Prerequisites: 91.201
Web page: http://teaching.cs.uml.edu/~heines/91.461/

91.462 GUI PROGRAMMING II  (formerly 91.461)   3 credits

This is a second course in the design and implementation of graphical user interfaces (GUIs) for windowing environments.  This course may only be taken as a follow-up to 91.461 to complete a two-course computer science project sequence.  The culminating activity in the course is completion and presentation of a large project that uses the concepts and techniques explored in 91.461 and 91.462.

Prerequisite: 91.461
Web page: http://teaching.cs.uml.edu/~heines/91.462/

HONORS PROJECT I  3 credits

This course provides an undergraduate research experience for Computer Science majors enrolled in the Honors Program.  Each student develops a project idea in consultation with the instructor.  The student writes a proposal for the project, reads the relevant literature, performs the project, writes a project report or thesis, and makes an oral presentation about the project. 

Prerequisites:  Junior or senior standing and permission of the instructor.  Enrollment is limited to Computer Science majors enrolled in the Honors Program.  

91.481 Honors Project II  3 credits

In this course, students continue and complete the project started in 91.480 Honors Project I. 

Pre- or Co-requisites:  91.480 and permission of instructor. 

91.490 DIRECTED STUDIES IN COMPUTER SCIENCE 3 credits

Individual study for a student desiring more advanced or more specialized work. This course may not be taken more than twice and may not be substituted for scheduled offerings.

Prerequisite: Students must submit a proposal to the directing faculty member, obtain his/her signed approval, and forward a copy of the signed proposal to the department chairperson.

Back to Table of Contents

Courses for Non-Majors

These courses do not count as computer science major courses. You may receive general-elective credit for them. However, you may not receive credit for any of these courses after you have taken Computing I. In addition, Continuing Education offers many courses with Computer Science course numbers (91.xxx) that are not open to computer science majors.

91.111 EVERYDAY COMPUTING 3 credits

A non-technical introduction to computer science. The historical development of computational aids and their use in various cultures and societies. Modern examples of computational aids, including integrated word processing/spreadsheet/database environments.

91.113 EXPLORING THE INTERNET 3 credits

This course covers the tools needed to navigate the Internet: e-mail, telnet, and ftp; listservs and Usenet news; and archie, WAIS, Gopher, the World-Wide Web, and Mosaic. This course also gives students basic computer programming skills and sufficient knowledge of UNIX to use Internet tools confidently and efficiently.

91.114 ADVANCED INTERNET 3 credits

A continuation of 91.113. Advanced topics for experienced Internet users, including setting up Internet connections, creating Web pages that incorporate images and sound, building your own Internet information site, and using the advanced features of the standard Internet tools. Students will learn and use the full capabilities of HTML (hypertext Markup Language). Each student will carry out a substantial final project.

Prerequisite: 91.113

91.115 DEVELOPING DATABASE APPLICATIONS 3 credits

How to design and implement a complete database application using a modern relational database system. Relations, queries, forms, and reports. Objects and properties. Data design and software design. Rapid application development tools.

Prerequisite: experience using Microsoft Windows

91.211 COMPUTER SCIENCE FOR SRT APPLICATIONS 3 credits

This course is an introduction to C programming, with applications in sound recording technology. Students will write and execute several programs that perform operations pertinent to SRT, including manipulating MIDI codes, performing simple signal processing functions, processing sampled data, and synthesizing sound algorithmically.

91.250 DATA STRUCTURES, ALGORITHMS, AND C 4 credits

A survey of data structures and algorithms. Includes an intensive introduction to the programming language C.

Prerequisite: some programming experience

91.263 FORTRAN PROGRAMMING 3 credits

An introduction to computer programming using FORTRAN 90/95. Programming arithmetic, decisions, repetition, and input/output. Arrays and array processing, including simple algorithms for searching and sorting. The edit-compile-test cycle.

Back to Table of Contents


Please direct questions to Prof. Jesse M. Heines, UML CS Undergraduate Coordinator, heines@cs.uml.edu