35 courses with the subject CSCI, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CSCI 187Creative Computing & Society: Computing, Creativity & the Social Good1
Offered Both Fall and Spring; Lecture hours:3,Other:2Introduces computing through creativity and examining social problems, guiding students to create visual artifacts that empower them to draw insights from data, complemented by discussions on computing's societal impact. This course does not count towards the computer science minor. Not open to computer science majors and computer science & engineering majors.
Offered Fall Semester Only,Topics course; Lecture hours:1.5A variety of Computer Science related topics presented by faculty, alumni, student speakers, and other relevant guests. Presentations and discussions on the frontier of the discipline, professional development, ethics and societal issues, and other topics relevant to the profession. Prerequisite: open to sophomores. Others by permission of the instructor.
Topics course,Offered Spring Semester Only; Lecture hours:1.5An introduction to research methodology in Computer Science, involving reading scientific literature, developing presentation skills, and learning to use various software packages. Prerequisites: open to first years and sophomores. Others by permission of the instructor.
Offered Both Fall and Spring; Lecture hours:3,Lab:2An introduction to computational problem solving open to all. Students will apply abstraction and decomposition to break problems into manageable pieces and implement their solutions in the Python programming language. Problems will be motivated by a variety of interdisciplinary applications drawn from across the curriculum. Not open to students who have taken ANOP 203 or ECEG 230.
Offered Both Fall and Spring; Lecture hours:3,Lab:2Introduction to data structures and algorithms using an object-oriented approach. Topics include software-engineering principles, object-oriented programming, recursion, basic data structures, algorithm analysis and team programming. Prerequisite: CSCI 203 or ECEG 230 or permission of the instructor.
Offered Both Fall and Spring; Lecture hours:3,Lab:2Fundamentals of software design and software engineering. Students will participate in large-scale, team-based software development project. Prerequisite: CSCI 204 or permission of the instructor.
Offered Fall Semester Only; Lecture hours:3,Recitation:1This course introduces the mathematical foundations essential for formalizing computational structures and analyzing algorithmic complexity. Topics include elementary logic, sets, mathematical induction, relations, functions and combinatorics. Prerequisite: CSCI 203. Not open to students who have taken MATH 241.
Offered Either Fall or Spring; Lecture hours:Varies,Other:4Students will create immersive virtual worlds as visual art using Unreal Engine, ZBrush, Rhino and other CAD tools while exploring the work of cutting-edge digital artists. Learn to design, interpret and build in 3D, even if you're new to CAD. No previous experience required. Prerequisite: permission of the instructor. Crosslisted as ARTD 242 and MECH 342.
CSCI 254Advanced Data Structures & Algorithmic Thinking1
Offered Spring Semester Only; Lecture hours:3,Lab:2Students learn to apply abstract reasoning to algorithm design through sophisticated programming exercises using advanced data structures. Topics covered include formal time complexity analysis, proving algorithm correctness (e.g., loop invariants), recursive algorithms, comprehensive coverage of graphs and graph algorithms, hash tables, disjoint-set data structure, heaps and more. Prerequisites: CSCI 204, CSCI 241 or MATH 241 or permission of the instructor.
Offered Fall, Spring, Summer,Topics course; Lecture hours:Varies,Other:Varies; RepeatableIndependent study or project in computer science. Prerequisite: permission of the instructor.
Offered Both Fall and Spring; Lecture hours:3,Lab:2Fundamental concepts showcasing the integration of hardware and software. Topics include data representation, processor, memory, I/O, Unix system programming in C and assembly, introduction to operating systems, and development tools. Prerequisite: CSCI 204 or permission of the instructor. Not open to students who have taken CSCI 206.
Offered Spring Semester Only; Lecture hours:2Introduction to network programming including datagram and virtual circuit protocols. Introduction to topics in computer security such as authentication, integrity, access control, applied cryptography and secure programming. Prerequisite: CSCI 206 or CSCI 306.
Offered Both Fall and Spring; Lecture hours:3,Lab:2Study of modern programming language paradigms (procedural, functional, logic, object-oriented). Introduction to the design and implementation of programming languages including syntax, semantics, data types and structures, control structures, run-time environments. Prerequisite: CSCI 205 or permission of the instructor. Not open to students who have taken CSCI 208.
Offered Both Fall and Spring; Lecture hours:3,Recitation:1An introduction to standard patterns and techniques in algorithm design and tools for analyzing algorithmic performance. Students learn to evaluate algorithms, design new algorithmic solutions, and communicate the correctness and usefulness of their solutions. Prerequisite: MATH 241 or (MATH 240 and MATH 280) and CSCI 204.
Offered Both Fall and Spring; Lecture hours:3,Lab:2Introduction to operating system design including process management, scheduling, memory management, resource allocation, file systems and concurrency. Prerequisite: CSCI 306.
Offered Fall Semester Only; Lecture hours:3Explores two important topics in computer architecture today: memory hierarchy and parallelism in all its forms. Students will use a hardware description language to implement concepts including pipelining, cache and branch prediction. Prerequisite: CSCI 206 or CSCI 306 or ECEG 247 or permission of the instructor. Crosslisted as ECEG 443 and ECEG 643.
Offered Occasionally; Lecture hours:3Project based introduction to compiler optimization for theoretical and practical issues such as run-time, memory usage, code robustness, and security. Prerequisite: CSCI 308.
Offered Either Fall or Spring; Lecture hours:3A broad investigation into the design of internet-connected physical objects and the infrastructure that supports them. This hands-on course covers topics including embedded systems, wireless communication, internet protocols, cloud computing and security. Students will develop their own IoT system. Prerequisite: (CSCI 206 or CSCI 306) or ECEG 247. Crosslisted as ECEG 432 and ECEG 632.
Offered Fall Semester Only; Lecture hours:3,Recitation:1Finite automata, regular sets, pushdown automata, context-free grammars. Turing machines, recursive functions and undecidability. Prerequisite: MATH 241 or MATH 280.
Offered Both Fall and Spring; Lecture hours:3Analysis of the impact of computing on society through the application of deontological and consequence-based ethical theories and professional codes of ethics. Students will learn to analyze the impacts of computing on the fundamental values of society so as to be able to create systems that don't oppose social progress.
Offered Occasionally; Lecture hours:3Advanced, hands-on course covering the full data science pipeline—from data preparation to model development and visualization—using industry-standard Python tools. Emphasizing supervised learning, foundational unsupervised methods, ethical considerations and responsible AI, students build practical ML skills to solve real-world challenges, including effective communication. Prerequisites: CSCI 204 and (MATH 216 or STAT 216 or MATH 227 or STAT 227).
Offered Occasionally; Lecture hours:3An introduction to concurrency, communication, and fault-tolerance. Students learn fundamental models of distributed computing and use them to study classic problems and their solutions or impossibility. Examples include consensus, mutual exclusion, distributed data structures and more. We focus primarily on theoretical results, also applying them in practical implementations.
Offered Either Fall or Spring; Lecture hours:3This course immerses students in the hands-on development and adaptation of neural network models in Artificial Intelligence, from classic perceptrons to deep learning and transformer-based systems. Through real-world projects using Python and PyTorch, students directly engage with diverse data modalities while critically examining model interpretation, transparency, fairness, and the societal impact of AI. Prerequisites: CSCI 204 and MATH 245.
Offered Occasionally; Lecture hours:3In this interdisciplinary course, we will study research at the intersection of people and computing. Through a variety of prototypes that we'll build (3D user interfaces, visual design, data communication, intelligent user interfaces, etc), we will deliberately practice processes that result in useful, usable and maybe even inspirational computer interfaces.
CSCI 359Fairness, Privacy, & Transparency When Learning From Data1
Offered Either Fall or Spring; Lecture hours:3The course enables students to audit and analyze data-centric systems and processes that are used to make decisions about people’s lives and understand the bias, fairness, privacy, and transparency implications of these systems. We will read, discuss, and implement ideas from recently published research articles in this upcoming area.
Offered Occasionally; Lecture hours:3Principles and design of networked computing systems and application programs. Topics include reliable communications medium access control, security, routing, transport, congestion control and networked applications. Prerequisite: CSCI 306 or ECEG 247.
Offered Either Fall or Spring; Lecture hours:3,Other:1This course covers the acquisition, processing and analysis of digital images, covering topics ranging from the human visual system, to image and video compression algorithms, to pattern recognition and machine learning within the context of automatic image understanding. Prerequisites: CSCI 204 and MATH 216 or STAT 216 or MATH 227 or STAT 227.
Offered Either Fall or Spring; Lecture hours:4This course explores the realm of modern wireless technologies and their practical applications, familiarizing students with the ever-evolving landscape of wireless networks. It equips students with a profound understanding of wireless communication principles, protocols and network architectures, covering fundamental concepts such as radio frequency fundamentals, as well as advanced topics. Crosslisted as ECEG 479 and ECEG 679.
Offered Both Fall and Spring,Topics course; Lecture hours:Varies,Other:Varies; RepeatableTeaching assistant to support mastery in a core computer science course. Written learning objectives and assessment policies will be developed with the course instructor. Prerequisites: by permission only.
Offered Fall, Spring, Summer,Topics course; Lecture hours:Varies; RepeatableIndependent work on computer science honors thesis. Prerequisite: permission of the instructor.
Offered Fall, Spring, Summer,Topics course; Lecture hours:Varies; RepeatableIndependent study in computer science. Recent areas include graph algorithms, computer security, distributed computing, graphics, programming languages, software engineering, web information retrieval. Prerequisites: junior standing and permission of the instructor.
Offered Fall Semester Only,Topics course; Lecture hours:1,Other:2A recognized software engineering methodology will be used with all phases of a senior design project. Written work will include a technical report about the project, a feasibility report, and a requirements specification document. Prerequisite: permission of the instructor. Not open to students who have taken ENGR 452.
Topics course,Offered Spring Semester Only; Lecture hours:2,Other:2Students undertake several cycles of delivery, each including a design document, product implementation, testing, and feedback. Students produce technical and user’s manuals for the final version. Class presentations of designs and implementations. Includes public presentation of the final product and design process. Prerequisites: CSCI 475 and permission of the instructor.