DePauw University Catalog
Conflict Studies

[100s]

[200s]

[300s]

[400s]

Computer Science Department Homepage

 

CSC 121. Computer Science I (1 course)

This is an introductory course in which problem solving and algorithm development are studied by considering computer science topics such as: computer graphics, modeling and simulation, artificial intelligence, computer architecture, and text file manipulation. Interesting and relevant programming assignments related to these topics are written in a high-level structured programming language that supports objects. Additional assignments utilize writing and data analysis to reinforce central course concepts and to address related areas of computing such as ethics, history and the meaning of intelligence. The course meets three hours in class and two hours in laboratory (3-2). Prerequisites: None. Offered fall and spring semesters annually. Not offered Pass-Fail.

CSC 122. Computer Science II (1 course)

This course builds on CSC 121 and introduces programming topics such as: sets, recursion and dynamic data types. Data type abstraction and implementation are introduced by studying structures such as lists, stacks, queues and binary trees. The object-oriented implementation of these structures is emphasized. Tools for algorithm analysis are introduced and comparisons of functional, object oriented and imperative programming paradigms are made. The concept of tradeoffs, i.e., time vs. space, iteration vs. recursion, static vs. dynamic, and imperative vs. functional, recurs as a theme throughout the course. Prerequisite: CSC 121. Offered fall and spring semesters annually. Not offered Pass-Fail.

CSC 197.  First-Year Seminar      (1 course)

A seminar focused on a theme related to the study of computer science. Open only to first-year students.

CSC 221. Computer Organization (1 course)

This is an introduction to the study of computer hardware concentrating on the central processing unit and main storage. Topics include representing information, machine language, combinational and sequential logic, input/output, registers, register transfer logic and bus structures. Assembly language and the high-level language, C, are used to aid in the understanding of these topics. Prerequisite: CSC 122. Offered fall semester annually. Not offered Pass-Fail.

CSC 222. Data Structures and Algorithms (1 course)

This course examines in depth several historically significant and highly functional models of data storage, including trees, sets, tries, priority queues and graphs. Attention is given to selecting the most appropriate model for a particular problem. Differences between the conceptual features of a model and its physical representation on a computer are emphasized. Algorithms which operate on these models are also considered. Other topics include an in-depth study of sorting, including special-purpose sorting algorithms. Prerequisite: CSC 122. Recommended prerequisite or co-requisite: MATH 253. Offered spring semester annually. Not offered Pass-Fail.

CSC 255. Computers in Business, Science, Society (1 course)

This course provides an introduction to the uses of computers in society and how these uses continue to reshape our world: politically, economically, ethically and socially. Software packages, including those for electronic communication and information gathering, graphics, spreadsheets and database management are used in this study, although software packages are not the main focus of this class. Non-classroom activities such as field trips and work in the laboratory are significant components of the course. Prerequisite: None. Offered annually. Not offered Pass/Fail. May not be counted toward the computer science major but may count toward the computer science minor.

CSC 315. Modeling and Simulation (1 course)

Techniques of simulation systems from diverse fields are presented in this course. A simulation language such as SLAM is used. Topics include principles of modeling and simulation, random number generators, simulation languages and data structures in the context of simulation. The course provides a scientific methodology for fields such as sociology, economics, business and computer systems performance. Prerequisite: CSC 122. Recommended prerequisite or co-requisite: MATH 151. Offered biannually. Not offered Pass-Fail.

CSC 320. Human Computer Interaction (1 course)

This course examines fundamental principles in Human Computer Interaction as seen from the viewpoint of a Computer Scientist. Topics include user-centered design, expert reviews, usability tests, tradeoffs between interaction devices, alternative input output methods including handwriting recognition and associated algorithms, the design of interfaces for users with visual or motor impairments, construction of appropriate error messages and implementation of graphical user interfaces (GUIs). Prerequisites: CSC 122 and at least one of CSC 221 or CSC 222. May not be taken pass/fail.

CSC 330. Artificial Intelligence (1 course)

This course examines the definition of intelligence using a variety of approaches from personal experience through the Turing test. Problems, problem spaces and search and knowledge representation, two basic units of the course, precede the study of more advanced topics such as game playing, planning, robotics, vision, learning, connectionist models and expert systems. Prerequisite: CSC 222 or permission of instructor. Offered biannually. Not offered Pass-Fail.

CSC 341. Theory of Computation (1 course)

Various models of formal languages (which provide a basis for compilers) and computation (which defines the kinds of problems that can be solved by a computer) are studied. Topics include regular languages, regular expressions, finite state automata, context-free languages, context-free grammars, push-down automata and Turing machines. The application of these models to several practical problems in computer science is considered. Computational limits are also discussed using as examples several problems which cannot be solved by any algorithm. Prerequisite: CSC 122 and MATH 253. Offered biannually. Not offered Pass-Fail.

CSC 350. Graphics (1 course)

This course is an introduction to the concepts, techniques, algorithms and implementation of computer graphics. Topics include moving and drawing lines in absolute and relative coordinates, transformations, windowing, clipping, projections, perspective, polygon filling, hidden surface techniques, and a variety of applications, including graphical user interfaces and menuing systems. Prerequisite: CSC 122 and MATH 151. Recommended prerequisite or co-requisite MATH 253. Offered biannually. Not offered Pass-Fail.

CSC 381. Database and File Systems (1 course)

The study of database modeling, design and implementation is the focus of this course. Characteristics of secondary storage devices, methods of organizing information and various file organization and accessing techniques are discussed to provide a basis for understanding database implementation and performance issues. The Entity-Relationship, relational and object oriented database models are studies. Systems such as ORACLE and ACCESS are used to illustrate implementations of database management systems. Programming assignments complement topics discussed in class. A semester project may be required. Prerequisite: CSC 222 or permission of instructor. Offered biannually. Not offered Pass-Fail.

CSC 422. Computer Networking (1 course)

This course examines the core concepts and fundamental principles of computer networks and the services built on top of them. Topics covered include protocol organization, circuit-switch and packet-switch networks, routing, flow control, congestion control, reliability, security, qualify-of-service, and Internet protocols (TCP/IP). Prerequisites: CSC 221, CSC 222. May not be taken pass/fail.

CSC 424. Programming Languages (1 course)

The topics of this course include a history of programming languages, virtual machines, representation of data types, sequence control, data control, lexical vs. dynamic scoping, sharing, type checking, parameter passing mechanisms, run-time storage management, context-free grammars, language translation systems, semantics and programming paradigms. Prerequisite: CSC 222 or permission of instructor. Offered biannually. Not offered Pass-Fail.

CSC 426. Compilers (1 course)

This course offers the study of theories related to compilers with the goal of implementing a compiler for an imperative language such as Pascal. Topics include formal languages, grammars, lexical, syntactic and semantic analysis, code generation and optimization. Prerequisites: CSC 221 and CSC 222. Offered biannually. Not offered Pass-Fail.

CSC 428. Operating Systems (1 course)

Topics in operating system concepts and design such as file systems, CPU scheduling, memory management, virtual memory, disk scheduling, deadlocks, concurrent processes, protection and distributed systems are studied in this course. Topics are treated thoroughly in a generic way and also discussed in detail with respect to a specific operating system. Prerequisites: CSC 221 and 222 and MATH 253. Offered biannually. Not offered Pass-Fail.

CSC 492. Computer Science Topics (1 course)

A. Modeling and Simulation, II. B. Computer Organization II. Prerequisite: permission of instructor. May be repeated for credit with different topics. Not offered Pass-Fail.

CSC 496. Seminar: Computer Science (1/2-1 course)

Advanced topics considered individually or in small groups. Prerequisite: permission of instructor. May be repeated for credit with different topics. Not offered Pass-Fail.

CSC 497. Senior Proposal Writing (0 credit)

This seminar is required as part of the senior experience. Time is spent helping students prepare a senior project proposal. An approved proposal is required for enrollment in CSC 498, Senior Project. Prerequisite: senior standing or permission of instructor. Offered annually in the fall.

CSC 498. Senior Project (1 course)

Students complete a project under the sponsorship of a member of the Computer Science faculty. Students will examine ethical issues, historical relevance, and current trends with respect to their project. Periodic progress reports will also be given.  Prerequisite: senior standing or permission of instructor and an approved project and CSC 497. Offered annually in the spring.  Not offered Pass-Fail.

E-mail questions or comments to: sbates@depauw.edu


©1999 DePauw University

Latest revision Aug-20-2001