CSC Courses

CSC119 - Introduction to UNIX/Linux (1 cr.)

Study of the features of the UNIX/Linux operating systems from the standpoint of a user. (Fall/Spring).

CSC121 - Introduction to Computing and the Web (3 cr.)

Introduction to computer science through Web-based projects. Describes the basic operations of computers covering hardware and software. Covers the use of communication technology through the Internet. Focuses on problem solving and algorithms. Teaches how programming languages are used to implement solutions to practical problems. Covers social issues associated with computing and computer science. (Fall/Winter/Spring/Summer). Liberal arts.

CSC122 - Robots and Computers (3 cr.)

Small mobile robots, constructed with Legos and palm-sized microcontrollers, are used to explore the nature of computers and the different kinds of thinking used in computing. Topics include: how microprocessors work, languages for describing algorithms, artificial intelligence, ways in which society and technology affect each other, physics of robot structure, sensing, motion and problem-solving techniques for designing and debugging, complex systems. For students in any major. No prior experience in computing, science, or technology is required. Weekly laboratory. (Fall). Liberal arts.

CSC123 - Scientific Simulation and Modeling (3 cr.)

Introduction to the use of simulations for scientific study. Students will design experiments and employ the scientific method in the context of simulations in a specific natural science. Students will gain knowledge about computer hardware and software. A programming language will be used as a means to formally describe and solve domain specific problems. Each course offering will focus on a specific discipline for which simulation and modeling is valuable. (Fall/Spring). Liberal arts.

CSC152 - Computer Security and Society (3 cr.)

Survey of the field of computer security at a non-technical level. The course will discuss the importance and role of security as computing becomes more tightly integrated with society. The course will examine the ethical issues related to computer security including privacy, identity theft, and liability. (Fall). Liberal arts.

CSC199 - Independent Study (1 to 15 cr.)

Project individually arranged by student and faculty sponsor. Requires completion of the Independent Study form and approval by the Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean. (Fall, Winter, Spring, Summer).

CSC217 - Logic, Numbers, Machines, and People - Discrete Math with Computer Applications (3 cr.)

An introduction to discrete mathematics with a focus on methods of reasoning and applications to computer science. Topics: propositional logic, first order logic, methods of proof, mathematical induction, elementary number theory. Applications include digital circuits, computer arithmetic, computer algorithms. (Fall/Spring). Liberal arts. Prerequisite: MAT102 or equivalent high school course.

CSC221 - Introduction to Programming (3 cr.)

Introduces methods for developing and implementing correct and effective algorithms. Uses an object oriented programming language (currently Python). Attention is given to design strategy, data organization, testing, and documentation. 3 hours lecture and 2 hour laboratory. (Fall/Spring). Liberal arts. Corequisites: familiarity with UNIX/Linux or CSC119 or CSC219. Prerequisite: familiarity with programming or CSC121 or CSC123.

CSC223 - Data Structures and Algorithms (3 cr.)

Organization of data with associated algorithms into arrays, lists, stacks, queues, binary trees, sets, and maps. Includes programming projects with object-oriented design principles using appropriate data structures. Algorithms are analyzed using the Big O notation. (Spring). Liberal arts. Prerequisites: CSC217; CSC221 with a grade of C or better.

CSC285 - Topics in Computing (1 to 4 cr.)

A course on topics in computing of current interest (in a seminar format, lecture format, lab format or a combination). Offers a wide perspective; accessible to majors and non-majors. May be repeated for credit with a different topic. (Occasional). Prerequisites: vary with topic.

CSC299 - Independent Study (1 to 15 cr.)

Project individually arranged by student and faculty sponsor. Requires completion of the Independent Study form and approval by the Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean. (Fall, Winter, Spring, Summer).

CSC310 - Perl (1 cr.)

Introduction to Perl programming language. Students will design, run, and debug programs. (Fall). Prerequisite: CSC221.

CSC311 - Computer Language (1 to 4 cr.)

Introduction to a single high-level programming language or data representation language. Programs in the particular programming language will be designed and run, or tools for processing data represented in the language will be used. May be retaken for credit with a different language. Liberal arts. Prerequisite: CSC221.

CSC312 - Computer Language (1 to 4 cr.)

Introduction to a single high-level programming language or data representation language. Programs in the particular programming language will be designed and run, or tools for processing data represented in the language will be used. May be retaken for credit with a different language. Liberal arts. Prerequisite: CSC221.

CSC313 - Computer Language (1 to 4 cr.)

Introduction to a single high-level programming language or data representation language. Programs in the particular programming language will be designed and run, or tools for processing data represented in the language will be used. May be retaken for credit with a different language. (Fall). Prerequisite: CSC221.

CSC314 - Non-Imperative Programming (3 cr.)

An introduction to functional and logic programming languages. Covers the conceptual foundations, semantics, and syntax of each language and discusses the nature of the functional and logic programming paradigms. Programs appropriate to the languages will be designed and run. (Occasional). Liberal arts. Prerequisite: CSC221.

CSC318 - Discrete Mathematics with Computer Science Applications II (3 cr.)

A continuation of CSC217 focusing on applications in computer science. Topics: sets, functions, and graphs, combinatorics, elementary probability. Applications include formal languages, finite-state automata, analyzing recursive algorithms, applying graph algorithms. (Spring). Liberal arts. Prerequisite: CSC217.

CSC319 - Programming in C and C++ (3 cr.)

The programming language C and C++ for students with substantial programming experience in some other language. (Spring). Prerequisite: CSC221.

CSC320 - System Administration (1 cr.)

Overview of the concepts and techniques of computer system administration. Topics will include privilege models, user management, kernel software, system services, system security and scripting. (Fall). Corequisite: CSC119. Prerequisite: CSC221.

CSC321 - Design and Analysis of Algorithms (3 cr.)

Course presents general techniques for the design of algorithms. These include divide-and-conquer, dynamic programming, greedy algorithms, and randomized algorithms. Specific algorithms are studied which are drawn from a variety of applications - bioinformatics, scheduling, encryption, graphics, search space. Advanced data structures - graphs, balanced trees - will be studied with applicable algorithms. (Fall). Liberal arts. Prerequisites: CSC223 (grade of C or better).

CSC323 - System Administration Tools (1 cr.)

In depth presentation of select system administration tools. Students will learn how to use the tools presented as well as the theoretical and design issues in the area. May be repeated for a total of three credits as topic varies. (Fall/Spring). Prerequisite: CSC320.

CSC330 - Human Computer Interfaces (3 cr.)

Aspects of human-computer interaction will be studied including models of perception, cognition, attention, representation, memory, identity, interaction styles and feedback. The role of information visualization in interfaces will be explored. Students will also learn how to perform empirical studies to evaluate computer interfaces. (Spring). Liberal arts. Prerequisite: CSC121 or CSC221.

CSC333 - Computer Organization (3 cr.)

A study of the organization and the structure of hardware components of computers and concepts and techniques of programming in machine assembly language. Emphasis is placed upon the relationships of machine language to computer architecture and higher level languages. The relationship between user applications, operating systems, and computer hardware is discussed. (Every third semester). Liberal arts. Prerequisite or corequisite: CSC221

CSC336 - Software Engineering I (3 cr.)

This course will provide an introduction to current practices in software engineering. The role of software metrics to manage software projects, evaluate software processes, and track software quality will also be examined. (Fall, Spring). Prerequisite: CSC221.

CSC341 - Introduction to Databases with Web Applications (3 cr.)

Designing a database using entity-relationship diagram, implementation of a database and querying in SQL, writing external programs to access the database, languages for creating web pages and writing server side programs to provide dynamic web content from a database. Requires a programming project involving all the topics above. (Spring). Prerequisite: CSC310.

CSC345 - Artificial Intelligence (3 cr.)

A survey of procedural and representational techniques used to study or simulate intelligent behavior. The nature of intelligence, machine and human, will be considered. Research developments will be reviewed. Theoretical and ethical limitations will be discussed. A significant programming or writing project will be expected from the student. (Occasional). Liberal arts. Prerequisite: CSC221 and CSC217.

CSC352 - Computer Security (3 cr.)

A survey of the theory and practice of computer security. Topics will include mandatory and discretionary access control, cryptography, policies, mechanisms, profiles, and threat assessment. (Every odd year in Spring). Prerequisite: CSC221 or equivalent.

CSC357 - Computer Networks (3 cr.)

Overview of computer networks with particular emphasis on the Internet. The layered architecture of the Internet is presented with their related algorithms and current protocols. Security issues are also examined. (Fall). Liberal arts. Prerequisite: CSC221.

CSC372 - Ethics in the Age of Technology and Information (3 cr.)

Investigation of the relationship between computers and society in terms of ethical issues such as: personal privacy vs. societal security; intellectual property vs. free speech; dehumanization and loss of autonomy vs. rehumanization; and application of artificial intelligence. Approved AWR. (Fall). Liberal arts. Prerequisites: ENG101; LIB105 or LIB200; CSC121 or experience in programming; junior standing

CSC399 - Independent Study (1 to 15 cr.)

Project individually arranged by student and faculty sponsor. Requires completion of the Independent Study form and approval by the Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean. (Fall, Winter, Spring, Summer).

CSC422 - Theory of Computation (3 cr.)

Theoretical foundation of computer science. Considers classes of languages, formal grammars, and automata and the relationships among them. Decidable and undecidable problems. May include topics from recursive function theory or complexity theory. (Every odd year in Fall). Liberal arts. Prerequisite: CSC318 or MAT231.

CSC433 - Operating Systems (3 cr.)

The design of systems that manage computer resources (processor, memory, disks and other peripheral devices) in a multitasking environment. Attention to concurrency problems and their solutions. Process and thread scheduling. Strategies for data storage management. Mechanisms that provide system and user security. Approaches to system deadlock. (Every third semester). Liberal arts. Prerequisites: CSC319, CSC333.

CSC436 - Software Engineering II (3 cr.)

This course will instruct students in application of software engineering principles to a medium sized software project. Students will work in teams using an agile software process to gain experience with all aspects of the software development cycle. The topics covered will include personal productivity, customer interaction, team productivity, communication skills, process improvement, and project management in the context of a semester long project. May be taken a second time for credit with a different project topic. (Fall/Spring). Prerequisite: CSC336.

CSC437 - Theory and Implementation of Programming Languages (3 cr.)

A study of the general principles and concepts for understanding and analyzing programming languages, and the major techniques for language implementation. Languages will be compared and analyzed with respect to their semantics, syntax and underlying models of computation. The basic techniques for implementing compilers and interpreters will be covered. A substantial language implementation project will be required. (Occasional). Liberal arts. Prerequisites: CSC319 or CSC314 or two credits from CSC313.

CSC441 - Database Management Systems (3 cr.)

Relational database design and implementation. Core topics include: record and file organizations, access structures, entity-relationship model, relational algebra and calculus, relational model functional dependencies and normalization, SQL, database implementation and application programs. Bioinformatics databases and related programming libraries. (Occasional). Liberal arts. Prerequisites: CSC318, CSC223.

CSC442 - Data Mining (3 cr.)

The theory, algorithms, and design of data mining and data warehousing systems. The course will cover the knowledge discovery process and the use of machine learning in data mining. (Even Years in Spring). Liberal arts. Prerequisites: CSC321, and CSC341 or CSC441.

CSC445 - Knowledge Representation and Inference (3 cr.)

Methods of knowledge representation in order for an intelligent system to make inference about the world. Covers frames languages, semantic nets, conceptual graphs, production systems, first-order logic representations and inference, statistical methods, probability and uncertainty, non-monotonic and default reasoning, common sense reasoning. (Occasional). Liberal arts. Prerequisite: CSC318 or MAT231.

CSC446 - Software Design Studio (3 cr.)

This course will instruct students in application of software engineering principles to a medium sized software project. Students will work in teams using an agile software process to gain experience with all aspects of the software development cycle. Object oriented programming principles and appropriate data structures will be applied in the context of a semester long software project. (Fall, Spring). Liberal arts. Prerequisites: CSC336 and CSC223 (grade of C or better).

CSC451 - Computer Graphics (3 cr.)

Rendering graphics objects on any output device with the intervention of a graphical processing unit (GPU). Writing programs with an emphasis on interactive graphics, using OpenGL and graphics libraries. Fundamental algorithms of two and three dimensional computer graphics. (Occasional). Liberal arts. Prerequisites: CSC221 and MAT202 or POI.

CSC452 - Threat Analysis and Modeling (3 cr.)

Identification, analysis, and modeling of security threats in computer applications, systems, and networks. Topics will include protocol design and analysis and configuration management. (Odd Years in Spring). Liberal arts. Prerequisites: CSC330 or CSC336 or CSC341 or CSC441, and CSC352.

CSC453 - Introduction to Numerical Methods (3 cr.)

Introduction to methods of solution to numerical problems. Emphasis is given to obtaining accurate results by utilizing methods of estimating the magnitude of error and techniques for controlling error. Numerical algorithms used in programming problems include: synthetic division, root finding, interpolation, least squares, numerical integration and solution of ordinary differential equations. (Occasional). Liberal arts. Prerequisite: MAT225.

CSC456 - Reliable Systems (3 cr.)

The process of building high assurance systems and techniques for fault detection and recovery. System reliability will be discussed at the hardware, middleware, and application level. (Even Years in Fall). Liberal arts. Prerequisites: CSC223, CSC336.

CSC462 - Intrusion Detection (3 cr.)

The defense in depth approach to network security, with a focus on the role of intrusion detection systems. Techniques of identifying, modeling, and reacting to unauthorized activity will be covered. Liberal arts. (Spring even years). Prerequisites: CSC345, CSC352, CSC357.

CSC485 - Advanced Topics in Computing (1 to 4 cr.)

A course on topics in computing of current interest (in a seminar format, lecture format, lab format or a combination). May be repeated for credit with a different topic. Liberal arts. (Occasional). Prerequisites: vary with topic.

CSC495 - Undergraduate Research (2 to 6 cr.)

Research project individually arranged between student and faculty member. May be repeated for credit. (Fall, Winter, Spring, Summer). Liberal arts. Prerequisite: POI.

CSC496 - Instructional Practicum (1 to 2 cr.)

Designed for students who will work under the supervision of a faculty member to assist in the instruction of a course. A contract specifying the responsibilities of each student will be filed in the department. May be taken twice for a total of six credits with chairperson's permission. (Fall/Spring). Prerequisite: POI.

CSC497 - Computing Practicum (1 to 3 cr.)

Participate in software development, system administration, or other applied computing experiences within the Computer Science Department. May be taken twice for a total of six credits. (Fall/Winter/Spring/Summer). Prerequisites: six credits in upper level CSC courses.

CSC498 - Internship in Computer Science (1 to 15 cr.)

Computer science activity at an industrial or research facility. (Fall, Winter, Spring, Summer). Prerequisite: six credits in upper level CSC courses and department chair approval.

CSC499 - Independent Study (1 to 15 cr.)

Project individually arranged by student and faculty sponsor. Requires completion of the Independent Study form and approval by the Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean. (Fall, Winter, Spring, Summer).

CSC522 - Theory of Computation (3 cr.)

Theoretical foundation of computer science. Considers classes of languages, formal grammars, and automata and the relationships among them. Decidable and undecidable problems. May include topics from recursive function theory or complexity theory. The topics and assignments are broader and/or go more in depth than in CSC422: a research or programming project is required. This course is open only to graduate students or undergraduates who are within 15 credits of graduation. Students can receive credit for this course only if they have not received credit for CSC422. (Occasional).

CSC533 - Operating Systems (3 cr.)

The design of systems that manage computer resources (processor, memory, disks and other peripheral devices) in a multi-tasking environment. Attention to concurrency problems and their solutions. Process and thread scheduling. Strategies for data storage management. Mechanisms that provide system and user security. Approaches to system deadlock. The topics and assignments are broader and/or go more in depth than in CSC433: a research or programming project is required. This course is open only to graduate students or undergraduates who are within 15 credits or graduation. Students can receive credit for this course only if they have not received credit for CSC433. (Every third semester).

CSC541 - Database Management Systems (3 cr.)

Relational database design and implementation. Core topics include: record and file organizations, access structures, entity-relationship model, relational algebra and calculus, relational model functional dependencies and normalization, SQL, database implementation and application programs. Bioinformatics databases and related programming libraries. The topics and assignments are broader and/or go more in depth than in CSC441: a research or programming project is required. This course is open only to graduate students or undergraduates who are within 15 credits of graduation. Students can receive credit for this course only if they have not received credit for CSC441. (Occasional).

CSC545 - Knowledge Representation and Inference (3 cr.)

Methods of knowledge representation used by an intelligent system to make inference about the world. Covers frames languages, semantic nets, conceptual graphs, production systems, first-order logic representations and inference, statistical methods, probability and uncertainty, non-monotonic and default reasoning, common sense reasoning. The topics and assignments are broader and/or go more in depth than in CSC445; a research or programming project is required. This course is open only to graduate students or undergraduates who are within 15 credits of graduation. Students can receive credit for this course only if they have not received credit for CSC445. (Occasional).

CSC585 - Topics in Computing (3 cr.)

A course on topics in computing of current interest (in a seminar format, lecture format, lab format or a combination). May be repeated for credit with a different topic. The topics and assignments are broader and/or go more indepth than in CSC485: a substantial research or programming project is required. The course is open only to graduate students or undergraduates who are within 15 credits of graduation. Students can receive credit for this course only if they have not received credit for CSC485 with the same topic. (Occasional). Prerequisites: vary.

Search the College Course Catalog

Enter a course number or three-letter course subject to search the College Catalog:

Alphabetical Listing of Curriculum Descriptions by Course Subject

A

  • Africana Studies = AAS
  • Accounting = ACC
  • Anthropology = ANT
  • Arabic = ARA
  • Art = ART
  • Asian Studies = ASI
  • Astronomy = AST

B

  • Biology = BIO
  • Business = BUS

C

  • Canadian Studies = CAS
  • Communications Disorders & Sciences = CDS
  • Consumer Economics Management = CEM
  • Chemistry = CHE
  • Counseling = CLG
  • Career Life Planning = CLP
  • Communication Studies = CMM
  • Computer Science = CSC
  • Criminal Justice = CRI

E

  • Economics = ECO
  • Education = EDU
  • Education - Administration = EDA
  • Education - Mathematics = EDM
  • Education - Reading = EDR
  • Education - Special = EDS
  • English = ENG
  • Environmental Science = ENV
  • English as a Second Language = ESL
  • Expeditionary Studies = EXP

F

  • Finance = FIN
  • Foreign Languages & Literature = FLL
  • French = FRE
  • Freshman Seminar = FRS
  • Freshman Experience = FRX

G

  • Geography = GEG
  • Gender & Women's Studies = GWS
  • Geology = GEL
  • German = GER

H

  • Health Education = HED
  • History = HIS
  • Honors = HON
  • Hotel, Restaurant, & Tourism Management = HRT
  • Human Development and Family Relations = HDF

I

  • Interdisciplinary Studies = INT
  • Italian = ITA

J

  • Journalism = JOU

L

  • Latin American Studies = LAS
  • Latin = LAT
  • Leadership = MLS
  • Library Skills = LIB
  • Language & Linguistics = LIN

M

  • Mathematics = MAT
  • Meteorology = MET
  • Military Studies = MTS
  • Management & International Business = MGM
  • Marketing & Entrepreneurship = MKE
  • Minority Studies = MNS
  • Music = MUS

N

  • Nursing = NUR
  • Nutrition = FNI

P

  • Physical Education = PED
  • Philosophy = PHI
  • Physics = PHY
  • Portuguese = POR
  • Political Science = PSC
  • Psychology = PSY

R

  • Reading = RDG
  • Recreation = REC
  • Russian = RUS

S

  • Science & Society = SCI
  • Sociology = SOC
  • Spanish = SPA
  • Social Work = SWK

T

  • Theatre = THE
  • Tutor Training = TTR