about
faculty
courses
major requirements
minor and other programs
undergraduate research
department facilities
extracurricular activities
internship and job search
after graduation
 home > courses
Course Offerings / CS Course Descriptions / CS Course Prerequisites / Math Course Descriptions
 Course Offerings

You should always plan your program in consultation with your advisor. To aid you in considering a "comprehensive academic plan" of what courses you will take which semesters, the department has tried to formalize the following schedule of courses to be offered each semester.

Courses offered every semester are: MATH 106, 110, 115, 175. CS 121

Advanced courses not offered every semester are included in the list below. You should check with your advisor to determine any changes in this scheduling. The department may be required to cancel courses in some semesters in the event of low enrollment. In particular, if you need to include Math 190, 201, or 230 in your plans, you should discuss this with the department, since these courses lately have been taught less often than would be optimal.

Projected Course Offerings

Fall 2005* - Spring 2006
  Math Computer Science
Fall 2005* 106, 110, 115, 175, 240, 270/380 (Topics), 300, 384, 385 111, 203, 270, 310, 384, 385
Spring 2006 106, 110, 115, 175, 200, 201, 215, 270/380 (Topics), 335, 384, 385 111, 195, 245, 305, 335, 384, 385

* Physics 206 Differential Equations and Physics 160 Digital Systems will be offered in the Fall.

Fall 2006* - Spring 2007
  Math Computer Science
Fall 2006* 106, 110, 115, 175, 205, 240, 380, 384, 385 111, 203, 220, 315, 384 385
Spring 2007 103, 106, 110, 115, 175, 200, 208, 215, 310, 375, 384, 385 100, 111, 116, 195, 350, 384, 385, 270

The Computer Science program is going through a comprehensive curriculum review, and it is quite likely that the course offerings for 2006-2007 will be changed dramatically.

* Physics 206 Differential Equations will be offered in the fall.



back to top of page

 

 Computer Science Course Descriptions

121. Introduction to Programming (1/2). Introduction to computer programming for students with no or limited experience in programming, emphasizing programming constructs (loops, conditionals, recursion) and object-oriented programming. Students work in pairs on increasingly complex programs to create software solutions to problems of general interest. Offered each semester, first module.

123. Great Ideas in Computer Science (1/2). Introduction to computer science in the liberal arts tradition. Topics include social and ethical implications of computer science, privacy, historical perspective, Moore's law, how information is stored, robots, artificial intelligence, and the Internet. Offered each spring.

125. Introduction to Computer Hardware (1/2). Introduction to the organization of the physical components of a computer (hardware) and to the interface between the hardware and the programs/insturctions (software) that results in a functioning computational machine. Features an introduction to binary numbers, digital logic, and elementary programming at the raw binary level and at the assembler level (in terms of the instruction set for the central processing unit (CPU). Includes study of the critical compoments of the computer: memory and its hierarchy, buses, and their communication with one another and the outside world.
Prerequisite: Computer Science 121 or experience with programming.

131. Obejct-Oriented Java Programming (1/2). Programming in Java for students with substantial programming experience in some language. Basic programming constructs, with emphasis on standard techniques for specifying and documenting programs, plus object-oriented programming, including the use of standard Java objects and the creation of new objects. Testing techniques are emphasized throughout. Offered each spring, second module..
Prerequisite: Computer Science 121 or experience with programming.

161. Data Visualization (1).Framed in an interdisciplinary perspective, this introductory course focuses on the aesthetic and computational principles and the techniques (including programming techniques) for visualizing data and information from different contexts: molecular, statisical, image, graphics, and network/connection-based. Programming and implementation are based on scripting languages, program modules (many based on easy-to-implement matrix operations) and complete software packages. Students also use specialized projection equipment to view images in 3D. (Also listed as Interdisciplinary Studies 161.) Offered odd years, spring semester.
Prerequisite: Computer Science 121 and mathematics 110 or consent of instructor.

170. General Topics in Computer Science (1/4 - 1). Course title and content vary, and the course may be repeated for credit when the title and content change. Offered occasionally.
Prerequisite: Varies with topic.

201. Data Structures and Abstraction (1/2). Practical coverage of data structures with opportunities for software problem-solving. Covers basic data structures, complexity analysis, and standard software for their implementation. Students learn to use abstractions of data structures to write software to solve applied problems, hence the course is suitable for a wide variety of students seeking a deeper understanding of programmming in an applied context. Offered each fall, first module.
Prerequisite: Computer Science 131.

205. Algorithms and Design (1/2). Additional coverage of data structures, including advanced linked-lists, skip lists, general and balanced trees, hashing, and graphs, together with algorithms to implement them, plus algorithms for diverse sorting methods. This course covers details of complexity analysis of algorithms, including recursive algorithms; going beyond Computer Science 201, students learn and implement the details of these algorithms in solving problems, while analyzing the tradeoffs in choice of data structures and algorithms. (LW) Offered each fall, second module.
Prerequisite: Computer Science 201.

211. Threaded Programming (1/2). Basic techniques for threaded programs ("threads"), processes in a computer system or program that function together, such as: remote users accessing a common site, a program running in one thread while buttons and menus wait for possible commands ("events") in other threads, or a graphical animation program with several screen objects moving simultaneously. This course introduces basic techniques for creating threaded programs, communication between threads, and handling concurrency progrems. Topics are discussed in a general context, using event-driven interfaces and graphical animation as concrete programming examples. Offered each fall, first module.
Prerequisite: Computer Science 131.

221. Programming Language Paradigms (1/2). Explores the depths and complexities of language concepts such as variables, loops, arrays, parameters, and pointers by examining approaches different from those in Java and C++. Offers perspectives on choice of language to suit a problem context. Offered even years, spring semester, second module.
Prerequisite: Computer Science 131.

231. Computer Networks (1/2). Introduction to the concepts, design, and implementation of computer networks, presenting both a service model and a layer-arthitecture model. The course examines the Internet and its services and protocols at the application, transport, network, and physical layers. It also discusses models of network-based computing, with an emphasis on the client/server socket-based models. Offered even years, spring semester, first module.
Prerequisite: Two courses chosen from Computer Science 121, 123, and 125.

241. Computer Architecture (1/2). In-depth study of the hardware constituting a modern von Neumann central processing unit (CPU) in terms of its functional subunits (registers, arithmetic and logic unity, data path and control) and their interconnections, as well as in terms of its interface to memory and the external world. Includes formal study of digital logic, instruction set architectures, advanced assembly language, and simulation and study of a CPU formed from subunits constructed using digital logic. The course also explores alternative processor architectures and multiprocessing. Offered odd years, fall semester, first module.
Prerequisite: Computer Science 123 and 125.

251.Web Programming (1/2). Web design and programming using the client-server model, featuring client-side scripting, the design of Web pages, and the development of server-side script-based applications accessed through the Common Gateway Interfact (CGI). Students use JavaScript for client-side scripts and PERL and PHP to write server-side applications. An accompanying theme is good human-computer interface design. Offered even years, fall semester, first module.
Prerequisite: Computer Science 131.

261. Principles of Computation and Modeling (1). Surveys principles of computational science--basic techniques for the application of computer science in different disciplines--in an interdisciplinary fashion, using examples from art, biology, chemistry, economics, and other disciplines. Discusses fundamental algorithms and packaged implementations of numerical methods needed for modeling and visualization: matrix operations, numerical solutions of differential equations, and graphical and image processing. The course explores computational modeling of fractals, chaos, and complex adaptive systems, based of Wolfram's thesis that a small set of rules can produce complex behavior. Additionally, the course features global simulations (systems dynamics) and local simulations (cellular automata). (Also listed as Interdisciplinary Studies 261.) Offered even years, spring semester..
Prerequisite: Computer Science 201 and Mathematics 110 or consent of instructor.

270. Intermediate Topics in Computer Science (1/4-1). Selected aspects of computer science reflecting particular interest and experience of the instructor. Course title and content vary, and the course may be repeated for credit when the title and content change. Offered occasionally.
Prerequisite: VAries with topic.

281. Social and Professional Issues (1/4). Risks, liabilities, and economic and ethical considerations in computer science. This junior-year capstone experience unifies topics in core computer science courses and prepares students for the senior capstone experience (Computer Science 381). Offered each spring, first module.
Prerequisite: Computer Science 123 and 201 or consent of instructor.

301. Topics in Algorithms (1/2). Investigation of techniques for the design, comparison, and analysis of major classes of algorithms. Topics vary but may include geometric algorithms, parallel and distributed algorithms, net-centric algorithms, analysis of algorithms, graph algorithms, and genetic algorithms. May be repeated for credit if topic is different. Offered each fall, second module.
Prerequisite: Computer Science 205.
Corequisite: mathematics 160 or 200.

311. Operating Systems (1/2). Surveys the principles on which modern operating systems are based, including concurrency mechanisms, scheduling, memory management, file systems, and security, with examples from major contemporary operating systems. Offered in even years, fall semester, second module.
Prerequisite: Computer Science 125, 205, and 211.

321. Database Applications (1/2). The design of modern databse systems and their practical use: the relational model; the SQL language for queries; and access via PHP, Java, and Web interfaces. Setup and secuirity of database systems may be covered. Includes a team project to design and implement a database application chosen based on student interests. This course offers practical experience with databses and their software implementations and hence can be particularly useful to students in disciplines outside computer science. Offered odd years, spring semester, first module.
Prerequisite: Computer Science 131. Students are encouraged to take Computer Science 251 to have a background in PHP and script programming or have expericne in creating programs..

325. Database Principles (1/2). The foundations of databses (normalization and relational algebra), the necessary algorithms (advanced trees, hashing, and external sorting), and implementation details (file storage and optimization). Offered odd years, spring semester, second module.
Prerequisite: Computer Science 205 and 321.

331. Graphical Algorithms (1/2). Geometric algorithms and modeling, animation, 3D graphics, and rendering. Combines these techniques to consider ways to implement virtual realities, including discussion of future directions of virtual reality. Offered odd years, fall semester, second module.
Prerequisite:Computer Science 205 and 211.
Corequisite: Mathematics 160 or 200.

341. Object-Oriented Analysis and Design (1/2). Object-oriented design of large programs, including the graphical user interface to a program, and emphsizing principles of human-computer interaction. Treats extraction of objects, design of their interactions, and markup language techniques for specifying object designs. The course concludes with validation techniques and the specification of the behaviours of objects, stopping short of writing code to implement designs. (LW) Offered even years, spring semester, first module.
Prerequisite:Computer Science 205.

345. Software Engineering (1/2). Techniques in the creation of software packages, with emphasis on the use of tools to facilitate team-built projects. Includes programming techniques to support such projects, project management, testing methodologies and tools, and techniques for validation of software components. Emphasizes contemporary software development models, such as extreme programming. (LW) Offered even years, spring semester, second module.
Prerequisite:Computer Science 341.

370. Advanced Topics in Computer Science (1/4-1). Selected aspects of computer science reflecting particular interests and experience of the instructor. Course title and content vary, and the course may be repeated for credit when the title and content change. Offered occasionally.
Prerequisite: Varies with topic.

381. Software Development Projects (1/2). In this senior capstone experience, students work in teams to enhance publicly-available software through design, implementation, and deployment, and they regularly present ideas, progress reports, writing designs, and reflective essays. (LW) Offered each semester.
Prerequisite: Computer Science 205 and two courses higher numbered than 205 or consent of instructor. Computer Science majors are strongly encouraged to take Computer Science 211 before taking this course.

390. Special Projects (1/4-1). Individual guided investigation of a problem or topic in computer science.
Prerequisite: Sophomore standing.


back to top of page

 

 Mathematics Course Descriptions

100. Introduction to Mathematical Thinking (1). This course aims to give non-mathematics majors a sense of the importance of mathematics in human thought, and an appreciation of the beauty and vitality of present-day mathematics. Material varies. Sample topics include combinatorial puzzles, number theory, tilings, networks, symmetries, map coloring, knots and surfaces, alternative number systems, infinite sets.
No Prerequisite. Not open to students who have taken Mathematics 110 or a higher level mathematics course. Offered occasionally.

103. Cultural Approaches to Mathematics (1). What we think of as "mathematical" ideas may be viewed by other cultures within the contexts of art, navigation, religion, record-keeping, games, or kin relationships. This course treats mathematical ideas investigated by cultures such as North and South American Indians, Africans, and various peoples of the Pacific Islands and analyzes them through Western mathematics (as developed in Europe, the Middle East, and India). The course helps the student understand what mathematics is, both to Western culture and to other cultures, and how cultural factors influenced the development of modern mathematics. Offered each year. No Prerequisite.

104. Finite Mathematics (1). An introduction to finite methods in mathematics: probability, graphs, linear programming, game theory, and patterns. The course emphasizes ways in which these methods can be used to build mathematical models applicable to the social and biological sciences. Offered occasionally.
Prerequisite: Three years of high school mathematics.

106. Introduction to Statistical Concepts (1). Introductory probability and statistics with illustrations from the behavioral, social, and natural sciences. Descriptive statistics, elementary probability, hypothesis testing, analysis of variance, contingency tables, linear regression and correlation, nonparametric tests. Offered each semester.
Prerequisite: None, but familiarity with elementary algebra is expected. Not open to students who have completed or are taking Mathematics 205, Anthropology 240, or Psychology 150. First-term freshmen must have consent of the department chair.

110. Calculus I (1). The development of a rigorous mathematics of change: limits and continuity, differentiation and integration of algebraic and trigonometric functions. Attention is paid to the historical development of these ideas and to a variety of applications of calculus. Offered each semester.
Prerequisite: High school mathematics through trigonometry.

115. Calculus II (1). Calculus of exponential and logarithmic functions, techniques of integration, infinite series and power series, introduction to partial derivatives and multiple integrals. Offered each semester.
Prerequisite: Mathematics 110.

175. Linear Algebra (1). Linear equations and matrices, abstract vector spaces and linear transformations, orthogonality, eigenvalues and eigenvectors. Attention is paid to the development of abstract thinking, and a variety of applications of linear algebra in science and social science. Offered each fall.
Prerequisite: Mathematics 115.

190. Differential Equations (1). Solution methods for first-order differential equations, linear differential equations, power series solutions, the Laplace transform, numerical methods, stability, applications. Offered occasionally.
Prerequisite: Mathematics 115.

200. Discrete Mathematics (1). Combinatorial counting principles, generating functions and recurrence relations, introduction to graph theory, graph-theoretic algorithms and their implementation. Applications to operations research, computer science, and social science. Offered each spring.
Prerequisite: Mathematics 115; Computer Science 111 or equivalent.

201. Vector Calculus (1). Differentiation and integration of functions of several variables; integration on surfaces; vector analysis; theorems of Green, Stokes, and Gauss; applications to ordinary and partial differential equations and to geometry. Offered in alternate years, spring semester.
Prerequisite: Mathematics 115.

205. Mathematical Statistics I (1). Probability calculus for discrete and continuous probability distributions of one and several variables, including order statistics, combining and transforming random variables, and the use of moment-generating functions. Introduction to hypothesis testing. Offered in alternate years, fall semester.
Prerequisite: Mathematics 115.

208. Chaotic Dynamical Systems (1). An introduction to the mathematical theory of dynamical systems, with special attention to systems exhibiting chaotic behavior. One-dimensional dynamics: fixed points, periodic orbits, chaotic orbits, and the transition to chaos. Two-dimensional dynamics: fractal images, Julia sets, and the Mandelbrot set. Computer experiments with chaotic systems; applications. Offered in alternate years, spring semester.
Prerequisite: Mathematics 115.

215. Abstract Algebra (1). Axiomatic treatment of selected algebraic structures including groups, rings, integral domains, and fields. Illustrative examples. Elementary factorization theory. Offered each spring.
Prerequisite: Mathematics 175.

230. Topics in Geometry (1). Topics chosen to illustrate modern approaches to geometry. Since the subject matter varies, the course may be repeated for credit with the approval of the department. Offered occasionally.
Prerequisite: Mathematics 175, or other courses depending on the topic.

240. Real Analysis (1). The real numbers, metric concepts and continuity, differentiation and integration of real functions, infinite sequences and series of functions. Offered each fall.
Prerequisite: Mathematics 175 or 208.

270. Topics in Mathematics (1/4, 1/2, or 1). Selected topics in mathematics, reflecting the interests and experience of the instructor. Content varies, and the course may be elected more than once with different topics. Offered occasionally.
Prerequisite: Appropriate courses depending on the topic.

300. Mathematical Modeling (1). Construction and investigation of mathematical models of real world phenomena. Work in this course is often done in groups. The computer is used as an aid in the analysis of mathematical models. Offered in alternate years, fall semester.
Prerequisite: Computer Science 111 and two mathematics courses numbered 175 or higher, or Computer Science 195 and one such mathematics course.

310. Mathematical Statistics II (1). Properties of point estimators, development of hypothesis tests by means of the generalized likelihood ratio, and inference using the normal and related distributions. One- and two-sample, goodness-of-fit, and distribution-free hypothesis tests. Inference for regression and analysis of variance. Offered in alternate years, spring semester.
Prerequisite: Mathematics 205.

335. Topology (1). Topological invariants of knots, classification of compact surfaces, structure of three-dimensional manifolds. Introduction to homotopy groups. Introduction to abstract topological spaces. Offered in alternate years, spring semester.
Prerequisite: Mathematics 175 or 208.

375. Complex Analysis (1). The complex plane, analytic functions, complex integration, Taylor and Laurent series, residues and poles, conformal mapping, applications. Offered in alternate years, spring semester.
Prerequisite: Mathematics 240 or 201.

380. Topics in Mathematics (1/4, 1/2, or 1). Selected topics in mathematics, reflecting the interests and experience of the instructor. Content varies, and the course may be elected more than once with different topics. Offered occasionally.
Prerequisite: Appropriate courses depending on the topic.

384. Mathematics Colloquium (1/4). Students will learn how to research topics, write papers, and present talks in mathematics. They will review manuscripts and talks given by students in Math 385, and will write preliminary drafts of presentations themselves. Discussion on other topics of significance to mathematics professionals.
Prerequisite: Mathematics 175.
Offered each semester, credit/no credit.

385. Mathematics Colloquium (1/2). Presentations and written papers by the participants on selected topics, with occasional guest speakers. The course may be taken more than once. Offered each semester.
Prerequisite: Mathematics 175, Mathematics 384, junior standing.

390. Special Projects (1/2 or 1). Individual guided investigations of topics or problems in mathematics. Since such investigation is important to the development of mathematical maturity, the department encourages each major to do at least one such project.
Prerequisite: Approval of the project by the department chair. Sophomore standing.

395. Teaching Assistant (1/2). Work with faculty in classroom instruction. Graded credit/no credit.

396. Teaching Assistant Research (1/2). Course and curriculum development projects with faculty.

[Home] [Back] [Top]
 

Beloit College - Department of Mathematics and Computer Science
Copyright © 2005 - Beloit College. All right reserved.
Text Version