Academic Programs Macalester College Catalog Macalester College

Macalester College Catalog 2008-2009

Catalog home

The Academic Program


Mathematics and Computer Science

COURSES

MATH 108 QUANTITATIVE THINKING FOR POLICY ANALYSIS (same as Economics 108)

Students will learn related approaches to collecting, interpreting, and presenting quantitative information in the context of specific public policy issues such as immigration, globalization, discrimination, health care, and environmental issues. The course will build on familiar numerical, statistical, and logical skills. No prerequisites. Every semester. (4 credits)

116 MATHEMATICS—ITS CONTENT AND SPIRIT

Introduction to a spectrum of modern applications of mathematics. Case studies will be taken from a range of fields, including mathematics, economics, political science, environmental science, computer science, and the fine arts. Focus is on understanding where and how mathematics can be used in a social, political, or civic setting. The course is designed for students looking to fulfill the natural sciences and mathematics distribution requirement. Example topics might include game theory, voting systems, symmetry and patterns, risk analysis, coding theory and cryptography. No prerequisites. Alternate fall semesters; next offered Fall 2010. (4 credits)

135 APPLIED CALCULUS

This introductory-level course focuses on those aspects of calculus that are particularly useful in applied work in the natural and social sciences. There is a strong emphasis on developing mathematical modeling skills. The topics include differential calculus of functions of one and several variables, differential and difference equations, and the geometry of high-dimensional space. Case studies are drawn from varied areas, including biology, economics, and physics. The course is designed both for students with no previous calculus, and students who have had one or two semesters of AP calculus (but who do not intend directly to take Mathematics 236 or 237). Every semester. (4 credits)

136 DISCRETE MATHEMATICS

An introduction to the basic techniques and methods used in combinatorial problem-solving. Includes basic counting principles, induction, logic, recurrence relations, and graph theory. Every semester. (4 credits)

137 SINGLE VARIABLE CALCULUS

Differentiation and integration of functions of a single variable, with applications. Main topics: Limit definition of the derivative and integral, exponential growth, chain rule, Riemann sums, numerical integration, integration by substitution and parts, improper integrals, geometric series, Taylor polynomials. This is a more in-depth course than Mathematics 135, and should be taken instead of Mathematics 135 by students intending to continue in mathematics. Prerequisites: High school calculus or Mathematics 135. Every semester. (4 credits)

153 DATA ANALYSIS AND STATISTICS

An introduction to basic concepts of data analysis and statistics in the spirit of the liberal arts. Emphasis on data analysis, model assumptions, and interpreting results. Examples and techniques drawn primarily from the social sciences. Major topics: uncertainty/variation, data acquisition, graphical techniques, descriptive statistics, exploratory versus confirmatory analysis, statistical inference. Recommended for students in humanities/fine arts/social sciences and/or those not planning to pursue careers in quantitative analysis; prospective economics majors are encouraged to take Mathematics 155. Prerequisite: High school algebra. Every semester. (4 credits)

155 INTRODUCTION TO STATISTICAL MODELING

An introductory statistics course with an emphasis on multivariate modeling. Topics include descriptive statistics, experiment and study design, probability, hypothesis testing, multivariate regression, single and multi-way analysis of variance, logistic regression. Prerequisites: Mathematics 135 or Mathematics 236 or Mathematics 237 or permission of instructor. Every semester. (4 credits)

236 LINEAR ALGEBRA

This course blends mathematical computation, theory, abstraction, and application. It starts with systems of linear equations and grows into the study of matrices, vector spaces, linear independence, dimension, matrix decompositions, linear transformations, eigenvectors, and their applications. Prerequisite: Mathematics 136 or Mathematics 137 or, with permission of instructor, Mathematics 135. Every semester. (4 credits)

237 MULTIVARIABLE CALCULUS

Differentiation and integration of functions of two and three variables. Applications of these, including optimization techniques. Also includes introduction to vector calculus, with treatment of vector fields, line and surface integrals, and Green’s Theorem. Prerequisite: Mathematics 137. Every semester. (4 credits)

253 APPLIED MULTIVARIATE STATISTICS

An introduction to multivariate statistical analysis. Emphasizes rationales, applications, and interpretations using advanced statistical software. Examples drawn primarily from economics, education, psychology, sociology, political science, biology and medicine. Topics may include: simple/multiple regression, one-way/two-way ANOVA, logistic regression, discriminant analysis, multivariable correlation. Additional topics may include analysis of covariance, factor analysis, cluster analysis. Prerequisite: Mathematics 155, or permission of instructor. Every spring. (4 credits)

265 PHILOSOPHY OF MATHEMATICS (Same as Philosophy 365)

Why does 2 + 2 equal four? Can a diagram prove a mathematical truth? Is mathematics a social construction or do mathematical facts exist independently of our knowing them? Philosophy of mathematics considers these sorts of questions in an effort to understand the logical and philosophical foundations of mathematics. Topics include mathematical truth, mathematical reality, and mathematical justifications (knowledge). Typically we focus on the history of mathematics of the past 200 years, highlighting the way philosophical debates arise in mathematics itself and shape its future. Prerequisite: Philosophy 120, Mathematics 136, or permission of the instructor. Alternate years; next offered 2010–2011. (4 credits)

312 DIFFERENTIAL EQUATIONS

After some initial work on first-order equations, much of the course will deal with linear equations and systems using both linear algebra and power series. Applications, some numerical work, and nonlinear techniques. Prerequisite: Mathematics 237. Every semester. (4 credits)

354 PROBABILITY

An introduction to basic probability concepts: sample spaces, probability assignments, combinatorics, conditional probability, independence, random variables, discrete and continuous distributions, functions of random variables, expectation, variance, moment-generating functions, some basic probability processes, and some fundamental limit theorems. Prerequisite: Mathematics 137 (recommended but not required: Mathematics 237). Every fall. (4 credits)

355 MATHEMATICAL STATISTICS

An introduction to the mathematical theory of statistics: sampling distributions, estimation, hypothesis testing, regression. Additional topics may include: analysis of variance and goodness of fit. Emphasis on the theory underlying statistics, not on applications. Prerequisites: Mathematics 354. Every spring. (4 credits)

361 THEORY OF COMPUTATION (Same as Computer Science 261)

A discussion of the basic theoretical foundations of computation as embodied in formal models and descriptions. The course will cover finite state automata, regular expressions, formal languages, Turing machines, computability and unsolvability, and the theory of computational complexity. Introduction to alternate models of computation and recursive function theory. Prerequisite: Computer Science 124, Mathematics 136, or permission of the instructor. Every spring. (4 credits)

365 SCIENTIFIC COMPUTATION (Same as Computer Science 365)

Techniques and algorithms for computational solutions to scientific problems with applications to diverse disciplines. Topics include: numerical integration; root finding; interpolation, splines, and Bezier curves; statistical function estimation; modeling via simulation and Monte Carlo techniques; optimization; transforms; symbolic computing; controlling numerical error. Prerequisites: Computer Science 121 or 123, and Mathematics 137. Linear Algebra (Mathematics 236) not required but strongly recommended. Every spring. (4 credits)

369 ADVANCED SYMBOLIC LOGIC (Same as Philosophy 369)

A second course in symbolic logic which extends the methods of logic. A main purpose of this course is to study logic itself—to prove things about the system of logic learned in the introductory course. This course is thus largely logic about logic. Topics include second order logic and basic set theory; soundness, consistency and completeness of first order logic; incompleteness of arithmetic; Turing computability; modal logic; and intuitionistic logic. Prerequisite: Philosophy 120, Mathematics 136, or permission of instructor. Alternate years; next offered 2010–2011. (4 credits)

371 GEOMETRY

Topics in geometry selected by the instructor. Possible courses include classical Euclidean and non-Euclidean geometry (Hilbert’s axioms; parallel postulate; hyperbolic, elliptic, spherical, projective geometries; Poincare models), differential geometry (calculus on surfaces; curvature; minimal surfaces; geodesics; the Gauss-Bonet theorem), computational geometry (triangulation; point location; Voronoi diagrams; linear programming). Prerequisite: Mathematics 236 and Mathematics 237. Alternate spring semesters; next offered spring 2010. (4 credits)

373 NUMBER THEORY

An introduction to the properties of and unsolved problems about the integers (whole numbers). This course is built around the problem of proving that a large integer is prime or finding its factorization into primes. Topics include: divisibility and prime numbers, the Euclidean algorithm, modular arithmetic, quadratic residues, continued fractions, and public-key cryptosystems. Prerequisite: Mathematics 136. Alternate fall semesters; next offered Fall 2010. (4 credits)

376 ALGEBRAIC STRUCTURES

Introduction to abstract algebraic theory with emphasis on finite groups, rings, fields, constructibility, introduction to Galois theory. Prerequisite: Mathematics 136 and 236. Every spring. (4 credits)

377 REAL ANALYSIS

Basic theory for the real numbers and the notions of limit, continuity, differentiation, integration, convergence, uniform convergence, and infinite series. Additional topics may include metric and normed linear spaces, point set topology, analytic number theory, Fourier series. Prerequisite: Mathematics 237. Every fall. (4 credits)

379 COMBINATORICS

Advanced counting techniques. Topics in graph theory, combinatorics, graph algorithms, and generating functions. Applications to other areas of mathematics as well as modeling, operations research, computer science and the social sciences. Prerequisites: Mathematics 136, Computer Science 121 or 123 or the equivalent. Alternate fall semesters; next offered Fall 2009. (4 credits)

All 400-level courses will involve some independent student work such as oral presentations, papers, or computer projects.

432 MATHEMATICAL MODELING

Draws on the student’s general background in mathematics to construct models for problems arising from such diverse areas as the physical sciences, life sciences, political science, economics, and computing. Emphasis will be on the design, analysis, accuracy, and appropriateness of a model for a given problem. Case studies will be used extensively. Specific mathematical techniques will vary with the instructor and student interest. Prerequisites: Mathematics 312, and Computer Science 121 or 123. Alternate fall semesters; next offered Fall 2009. (4 credits)

437 CONTINUOUS APPLIED MATHEMATICS

Transforms and their applications. Topics selected from among: the Fourier transform and applications in partial differential equations and signal and image processing; the Laplace transform in control theory; wavelet analysis. Prerequisites: Mathematics 236 and 312. Alternate spring semesters; next offered Spring 2011. (4 credits)

469 DISCRETE APPLIED MATHEMATICS (Same as Computer Science 369)

Topics in applied mathematics chosen from: cryptography; complexity theory and algorithms; integer programming; combinatorial optimization; computational number theory; applications of geometry to tilings, packings, and crystallography; applied algebra. Prerequisites: Mathematics 236 and 379 and Computer Science 121 or 123. Alternate fall semesters; next offered Fall 2010. (4 credits)

471 TOPOLOGY

An introduction to the topology of Euclidean, metric, and abstract spaces. Covers the fundamental ideas from point set topology— continuity, convergence, and connectedness—as well as selected topics from knot theory, three-dimensional manifolds, fixed-point theory, the fundamental group, and elementary homotopy theory. Prerequisite: Mathematics 236 and Mathematics 377. Alternate fall semesters; next offered Fall 2010. (4 credits)

476 TOPICS IN ALGEBRA

Topics in algebra to be chosen from: group representations; algebraic coding theory and finite fields; Galois theory; algebraic and transcendental numbers; ring theory; applied algebra. Prerequisite: Mathematics 376. Alternate fall semesters; next offered Fall 2009. (4 credits)

477 TOPICS IN ANALYSIS

A continuation of Real Analysis including discussion of basic concepts of analysis with particular attention to the development of the Riemann and Lebesgue integrals. Introduction to metric spaces, Fourier analysis. Prerequisite: Mathematics 377. Alternate spring semesters; next offered Spring 2011. (4 credits)

478 COMPLEX ANALYSIS

Algebra of complex numbers, analytic functions, the Cauchy-Riemann equations, Cauchy’s theorem, the Cauchy integral formula, Taylor and Laurent series, the residue theorem, and conformal mapping. Prerequisite: Mathematics 377 or 437. Alternate spring semesters; next offered Spring 2010. (4 credits)

490 SENIOR CAPSTONE SEMINAR

Working with their capstone supervisor, seminar coordinators, and other faculty, students will discuss their capstone project, make presentations of their progress, critique the work of other students, and participate in the activities of the seminar. These activities will include instruction and discussion of strategies for research, writing, and oral presentation. The scheduled times will include both group meetings with other seminar participants as well as individually arranged meetings with the student’s capstone supervisor. Spring semester. S/NC grading only. (1 credit)

604 TUTORIAL

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of mathematics not available through the regular offerings. Every semester. (1–4 credits)

614 INDEPENDENT PROJECT

Individual project including library research, conferences with instructor, oral and written reports on independent work in mathematics. Subject matter may complement but not duplicate material covered in regular courses. Arrangements must be made with a department member prior to registration. Prerequisite: departmental approval. Every semester. (1–4 credits)

624 INTERNSHIP

Mathematics credit is available to junior and senior students with declared cores or majors in mathematics. Special arrangements must be made well in advance of the regular registration period. Departmental approval and supervision are required. Internships are offered only as S/D/NC grading option. Every semester. (4 credits)

634 PRECEPTORSHIP

Every semester. (1–4 credits)

644 HONORS INDEPENDENT

Independent research, writing, or other preparation leading to the culmination of the senior honors project. Every semester. (1–4 credits)

COURSES

120 INTRODUCTION TO COMPUTING AND ITS APPLICATIONS

Computing and information technology is everywhere, and we live in an increasingly information-oriented society. In this course we define information technology to have five aspects: 1) general-purpose computers and their associated peripheral devices, 2) applications that enable people to make effective use of computing, 3) the data and information stored on these computers, 4) the software that operates the computer and provides us with a human-usable interface, and 5) the theory behind the design of computers and their applications. Because computing permeates virtually every aspect of our lives, it is critically important to have a minimal level of fluency with information technology to enable you to use it effectively in your career as well as your role as a contributing member of society. The aim of this course is to ensure that all students obtain that fluency. No prerequisites. Every semester. (4 credits)

121 INTRODUCTION TO SCIENTIFIC PROGRAMMING

This course is intended to give students from diverse areas of science—e.g., economics, biology, physics, chemistry, geography, geology, mathematics, engineering, statistics—an ability to write software for solving problems and carrying out research in those disciplines. The course provides an introduction to programming and computation as well as to a number of important and widely used techniques: scientific graphics, equation solving, function fitting, optimization, storing and searching data, and simulation. There is an emphasis on ways to represent and transform information on the computer in addition to numbers and text: images, sound, graphs and databases. Prerequisite: No prerequisites. Every fall. (4 credits)

123 CORE CONCEPTS IN COMPUTER SCIENCE

This course introduces the field of computer science, including central concepts such as the design and implementation of algorithms and programs, testing and analyzing programs, the representation of information within the computer, and the role of abstraction and metaphor in computer science. The exploration of these central ideas will draw from the breadth of computer science, with an emphasis on two major application areas: multimedia processing (images, sound, and text) and robotics (control systems for autonomous robots). Course work will use the Python programming language. No prerequisites. Every semester. (4 credits)

124 OBJECT-ORIENTED PROGRAMMING AND DATA STRUCTURES

This course introduces the principles of software design and development using the object-oriented paradigm and the Java programming language. Design techniques covered are programming by contract and Unified Modeling Language (UML) class diagrams. Students will build graphical user interfaces and learn to develop and use abstract data types (ADTs) such as lists, trees, sets, and graphs. Students will study the use of these data structures in applications such as simulation, computational science, and networks. For each ADT, students will analyze their advantages and disadvantages to determine which one works best for a given application. There is a required 1.5 hour laboratory section associated with this course. Prerequisite: Any one of the three introductory courses Computer Science 120, 121, or 123, or consent of instructor. Every semester. (4 credits)

221 ALGORITHM DESIGN AND ANALYSIS

An in-depth introduction to the design and analysis of algorithms. Topics may include algorithmic paradigms and structures, including recursion, divide and conquer, dynamic programming, greedy methods, branch and bound, randomized, probabilistic, and parallel algorithms, non-determinism and NP completeness. Applications to searching and sorting, graphs and optimization, geometric algorithms, and transforms. Prerequisites: Computer Science 124, Mathematics 136, or consent of instructor. Every fall. (4 credits)

225 SOFTWARE DESIGN AND DEVELOPMENT

This course builds upon the software design foundation started in Computer Science 124. Students will design and implement medium-sized software projects using modern software design principles such as design patterns, refactoring, fault tolerance, stream-based programming, and exception handling. The concept of a distributed computing system will be introduced, and students will develop multithreaded and networked applications using currently available software libraries. Advanced graphical user interface methods will be studied with an emphasis on appropriate human-computer interaction techniques. Students will use operating systems services and be introduced to methods of evaluating the performance of their software. Prerequisite: Computer Science 124, or consent of instructor. Every fall. (4 credits)

240 COMPUTER SYSTEMS ORGANIZATION

This course familiarizes the student with the internal design and organization of computers. Topics include number systems, internal data representations, logic design, microarchitectures, the functional units of a computer system, memory, processor, and input/output structures, instruction sets and assembly language, addressing techniques, system software, and non-traditional computer architectures. Prerequisite: Computer Science 120, 121, or 123, or consent of instructor. Every spring. (4 credits)

261 THEORY OF COMPUTATION (Same as Mathematics 361)

Investigation of the theoretical foundations of computer science as embodied in formal models of computation, including finite state automata, regular expressions, formal languages, and Turing machines. Properties of computation, including computability, unsolvability, and the theory of computational complexity. Prerequisite: Computer Science 124 and Mathematics 136, or consent of instructor. Every spring. (4 credits)

325 PRINCIPLES OF COMPILER DESIGN

The principles, techniques, and theory underlying the design of compilers and language translators. Topics will include lexical analysis, symbol tables, a variety of parsing algorithms, automated scanner and parser generation, representation and generation of intermediate code, machine code generation, and code optimization. Prerequisites: Computer Science 240 and 261, or consent of instructor. Offered alternate fall semesters; next offered Fall 2011. (4 credits)

340 DIGITAL ELECTRONICS (Same as Physics and Astronomy 340)

A survey of fundamental ideas and methods used in the design and construction of digital electronic circuits such as computers. Emphasis will be on applying the theoretical aspects of digital design to the actual construction of circuits in the laboratory. Topics to be covered include basic circuit theory, transistor physics, logic families (TTL, CMOS), Boolean logic principles, combinatorial design techniques, sequential logic techniques, memory circuits and timing, and applications to microprocessor and computer design. Three lectures and one three-hour laboratory per week. Prerequisite: Mathematics 137 and permission of instructor. Offered alternate spring semesters; next offered Spring 2011. (4 credits)

342 OPERATING SYSTEMS AND COMPUTER ARCHITECTURE

The basic principles related to the design and architecture of operating systems. Concepts to be discussed include sequential and concurrent processes, synchronization and mutual exclusion, processor scheduling, time-sharing, multiprogramming, multitasking, and parallel processing. Memory management techniques. File system design. Security and protection systems. Performance evaluation. Prerequisite: Computer Science 240, or consent of instructor. Offered alternate spring semesters; next offered Spring 2011. (4 credits)

343 DESIGN OF COMPUTER NETWORKS

This course investigates basic principles for designing and implementing both local area networks (LANs) and wide-area networks (WAN). It will look at 1) physical layer protocols, including transmission media, analog vs. digital communications, and interface design, 2) data link layer protocols, for point-to-point and contention-based message passing, 3) network layer protocols, for routing, congestion control, and inter-network communication, and 4) transport protocols, for creating error-free end-to-end channels. Each of these concepts will be illustrated using actual communication protocols such as the Ethernet and TCP/IP. The course will also take a brief look at higher level application issues including security (e.g. encryption, authentication), network management, name servers, and multimedia protocols such as JPEG and MPEG. Prerequisites: Computer Science 240 and 221, or consent of instructor. Offered alternate fall semesters; next offered Fall 2009. (4 credits)

346 INTERNET COMPUTING

This course will investigate the latest technology available for building web applications with dynamic content. It will look at all stages in the web application design process, including: 1) client applications, 2) web applications that service client requests, 3) application servers that manage requests for information, update data, and serve client applets, and 4) the database management system that holds the data. The course will be programming-intensive using aspects of the Java language available for designing and implementing Internet applications. The format of the course will be mainly laboratory-based sessions where you learn to build these four components of a web application, supported by lectures and discussions. Students will research particular topics and present their findings during these discussion sessions. The course will also investigate the usability of designs from a human factors standpoint and discuss privacy and other social consequences of this technology. Prerequisite: Computer Science 225, or consent of instructor. Offered alternate fall semesters; next offered Fall 2010. (4 credits)

365 SCIENTIFIC COMPUTATION (Same as Mathematics 365)

Techniques and algorithms for computational solutions to scientific problems with applications to diverse disciplines. Topics include: numerical integration; root finding; interpolation, splines, and Bezier curves; statistical function estimation; modeling via simulation and Monte Carlo techniques; optimization; transforms; symbolic computing; controlling numerical error. Prerequisites: Computer Science 121 or 123, Math 137. Linear Algebra (Math 236) strongly recommended. Every spring. (4 credits)

369 DISCRETE APPLIED MATHEMATICS (Same as Mathematics 469)

Topics in applied mathematics chosen from: cryptography; complexity theory and algorithms; integer programming; combinatorial optimization; computational number theory; applications of geometry to tilings, packings, and crystallography; applied algebra. Prerequisites: Math 236 and 379 and Computer Science 121 or 123. Alternate fall semesters; next offered Fall 2010. (4 credits)

425 PROGRAMMING LANGUAGE CONCEPTS

Introduction to programming language concepts, including issues of design, specification, representation, and implementation across a range of language types (procedural, object-oriented, functional, declarative, and parallel). Specific topics will include models of computation and their influence on language design, syntax, semantics and abstract interpretation, language structures, type theories, and program transformation methods, such as interpretation, compilation, partial evaluation, and graph reduction. Prerequisites: Computer Science 221 and 261, or consent of instructor. (4 credits)

445 PARALLEL AND DISTRIBUTED PROCESSING

Many current computational challenges, such as Internet search, protein folding, and data mining require the use of multiple processes running in parallel, whether on a single multiprocessor machine (parallel processing) or on multiple machines connected together on a network (distributed processing). The type of processing required to solve such problems in adequate amounts of time involves dividing the program and/or problem space into parts that can run simultaneously on many processors. In this course we will explore the various computer architectures used for this purpose and the issues involved with programming parallel solutions in such environments. Students will examine several types of problems that can benefit from parallel or distributed solutions and develop their own solutions for them. Prerequisites: Computer Science 240 and 221, or consent of instructor. Alternate fall semesters; next offered Fall 2009. (4 credits).

480 INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

This course will introduce students to the design, implementation, and analysis of databases stored in database management systems (DBMS). Topics include implementation-neutral data modeling, database design, database implementation, and data analysis using relational algebra and SQL. Students will generate data models based on real-world problems, and implement a database in a state-of-the-art DBMS. Students will master complex data analysis by learning to first design database queries and then implement them in a database query language such as SQL. Advanced topics include objects in databases, indexing for improved performance, distributed databases, and data warehouses. Prerequisites: Computer Science 225, or consent of instructor. Alternate spring semesters; next offered Spring 2010. (4 credits)

484 INTRODUCTION TO ARTIFICIAL INTELLIGENCE (Same as Cognitive and Neuroscience Studies 484)

An introduction to the basic principles and techniques of artificial intelligence. Topics will include specific AI techniques, a range of application areas, and connections between AI and other areas of study (i.e., philosophy, psychology). Techniques may include heuristic search, automated reasoning, machine learning, deliberative planning and behavior-based agent control. Application areas include robotics, games, knowledge representation, logic, perception, and natural language processing. Prerequisites: Computer Science 221, or consent of instructor. Note that the Cognitive and Neuroscience Studies 484 prerequisites are different. Alternate fall semesters; next offered Fall 2010. (4 credits)

488 SENIOR SEMINAR IN COMPUTER SCIENCE

Advanced topics in specialized areas of computer science. The course will be taught as a seminar and will involve discussion of original research articles, student projects, and oral presentations. When the course is offered, the topic and prerequisites for that semester will be announced and posted prior to registration. (4 credits)

490 SENIOR CAPSTONE SEMINAR

Working with their capstone supervisor, seminar coordinators, and other faculty, students will discuss their capstone project, make presentations of their progress, critique the work of other students, and participate in the activities of the seminar. These activities will include instruction and discussion of strategies for research, writing, and presentation. The scheduled times will include both group meetings with other seminar participants as well as individually arranged meetings with the student’s capstone supervisor. Every semester. S/NC grading only. (1 credit)

604 TUTORIAL

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of computer science not available through the regular offerings. Every semester. (1–4 credits)

614 INDEPENDENT PROJECT

Individual project including library research, conferences with instructor, oral and written reports on independent work in computer science. Subject matter may complement but not duplicate material covered in regular courses. Arrangements must be made with a department member prior to registration. Prerequisite: departmental approval. Every semester. (1–4 credits)

624 INTERNSHIP

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration, and departmental approval and supervision is required. For additional information about internships and how they are administered, refer to the section of the catalog entitled Individualized Learning. Internships are offered only as S/D/NC grading option. Every semester. (1–4 credits)

634 PRECEPTORSHIP

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Departmental approval and supervision required. Every semester. (1–4 credits)

644 HONORS INDEPENDENT

Independent research, writing, or other preparation leading to the culmination of the senior honors project. Every semester. (1–4 credits)


Macalester College · 1600 Grand Avenue, St. Paul, MN 55105  USA · 651-696-6000
Comments and questions to webmaster@macalester.edu