Catalogs & Handbooks

Computer Science (CSI)

CSI SCE  Senior Capstone Experience  2 Credits  
The Senior Capstone Experience in Computer Sciencecan take one of three forms: a senior thesis andoral/poster presentation on a topic in theoreticalcomputer science, a senior programming projectwith a written exposition and oral/posterpresentation, or preparation for, and successfulpassing of, a technical interview akin to thoseexpected in industry. Each major choosing thethesis option will research and write a seniorthesis with the supervision of a faculty memberand will make an oral presentation on the thesisat a departmental seminar or present a poster at adepartmental poster presentation session. Eachmajor choosing the thesis option should have athesis topic selected and approved by the end oftheir junior year. Double majors are often able tocombine their thesis from another department towrite only one senior thesis. Each major choosingthe programming project option will complete theproject with the supervision of a faculty memberand will also complete a written exposition andmake an oral or poster presentation on the projectat a departmental seminar. Each major choosing theprogramming project option should have a projectselected and approved by the end of their junioryear. The Senior Capstone Experience in computerscience is graded as Pass, Fail, or Honors.Students must do a thesis or programming projectand make an oral presentation to earn the grade ofhonors.
Term(s) Offered: All Terms, All Years
CSI 100  Basics of Computing  4 Credits  
This course introduces computer programming in amodern, high-level programming language.Objectives include proficiency in the language(including variables, functions, types, flowcontrol, and basic data structures) as well asfamiliarity with common computer science problemsolving strategies. Students will also gainexperience in team programming and in programdesign for practical problem solving. This coursecounts for distribution but does not counttowards the major in computer science.
Term(s) Offered: Other, Non Conforming
CSI 104  Introduction to Game Design  4 Credits  
A study of games and game design with a specificfocus on building, iterating and breaking down avariety of game and game types. The tools appliedin this class can be applied to many types ofstorytelling and they will be particularlyanalyzed and applied to board games and videogames. A student will gain some experience withand use of at least one digital game platform.Groupwork, discussion, presentation and iterativedevelopment are heavily required in this course. This course counts for distribution but does notcount towards the major in computer science,
Term(s) Offered: Other, Non Conforming
CSI 111  Computer Science I  4 Credits  
The objectives of this course are threefold: tointroduce programming concepts and algorithmicdevelopment, to teach an object-orientedprogramming language, and to teach how to design,code, debug and document programs using thetechniques of good programming style.
Cross-listed as: CSI 201/CSI 111
Term(s) Offered: All Terms, All Years
CSI 112  Computer Science II  4 Credits  
The objectives of this course are twofold: (a) tostudy data structures, such as stacks, queues,trees, dictionaries, tables, and graphs, theirefficiency, and their use in solvingcomputational problems; and (b) to gainproficiency in an object-oriented programminglanguage. Exercises in that language will providean opportunity to design and implement the datastructures.
Requisites: Pre-req: CSI 111, C+ grade or better recommended
Cross-listed as: CSI 202/CSI 112
Term(s) Offered: All Terms, All Years
CSI 194  Special Topics  4 Credits  
Topics not regularly offered in a department'snormal course offerings, chosen based on currentstudent interest and faculty expertise. Specialtopic courses can only be offered 3 times; afterthis, the course must be approved as a regularcourse. Graded A-F or Pass/Fail.
Term(s) Offered: All Terms, All Years
CSI 195  On-Campus Research  4 Credits  
An agreement between a sponsoring faculty memberand a student researching a topic of interest thatis relevant to a student's major or minor.Research is conducted on campus. Students must beenrolled before the research can begin. GradedA-F or Pass/Fail. 45 hours are required percredit.
Term(s) Offered: Summer, All Years
CSI 210  Object Oriented Programming  4 Credits  
This course gives a deep understanding ofobject-oriented design and programming, and thedesign and coding of applications programs usingJava. The use of Java for graphics and graphicaluser interfaces, multithreading, connectivity withdatabases and across networks will be covered.Students will be required to design and write alarge application for a final course project thatincorporates GUIs and a selection of theprinciples taught.
Requisites: Pre-req: CSI 112
Cross-listed as: CSI 203/CSI 210
Term(s) Offered: Fall, All Years
CSI 220  Data Science  4 Credits  
The heart of data science is going from a delugeof numbers to ever-elusive insight. In thisintroduction we focus on first principles: askinggood questions, being aware of our assumptions,and understanding what it means to do goodscience. Topics include exploratoryanalysis/descriptive statistics, statisticaltesting, and data visualization. The courseconcludes with an introduction to recentdata-driven machine learning models. We discussethical issues pertaining to data and machinelearning throughout the course, using currentevents and articles as they arise. The course isboth math and programming intensive, although in aheavily applied manner.
Requisites: Pre-req: CSI 111
Cross-listed as: CSI 220/MAT 220
Term(s) Offered: Fall, All Years
CSI 230  Applied Decision Analysis  4 Credits  
The course comprises an introduction to decisionanalysis and data-driven decision-making. Theinstruction includes hands-on experience withdeveloping decision support applications programs.A computational approach will be used to teach anddemonstrate the basic principles of descriptiveand inferential statistics, linear programming,the design and implementation of databases, andrudimentary differential and integral calculus.With these, students learn how to acquire andclean data, develop models, perform optimization,simulation, statistical testing, goal-seeking andwhat-if analysis of the models, and willcommunicate their results in writing and verbally.
Term(s) Offered: Other, Non Conforming
CSI 240  Discrete Mathematics  4 Credits  
An introduction to logic, reasoning, and thediscrete mathematical structures that areimportant in computer science. Topics includeproposition logic, types of proof, induction andrecursion, sets, combinatorics, functions,relations, and graphs.
Requisites: Pre-req: MAT 111 or CSI 111
Cross-listed as: MAT 240/CSI 240
Term(s) Offered: All Terms, All Years
CSI 250  Intro Comp Organization & Architecture  4 Credits  
Principles of computer organization andarchitecture are introduced, includinginterfacingand communication, register and memoryorganization, digital logic, representation ofdata, and introduction to assembly language.
Requisites: Pre-req: CSI 112
Term(s) Offered: Other, Non Conforming
CSI 252  Scientific Modeling & Data Analysis  4 Credits  
This course serves as a focused introduction toprogramming for scientists and engineers. Topicsinclude algorithm development, statistical tests,the fast Fourier transform (FFT), simulating thedynamics of systems represented by coupledordinary differential equations (e.g. planetarymotion via Runge-Kutta methods), numericalintegration, root finding, fitting functions toexperimental data, and the creation ofpublication-quality graphics. Students choose andcomplete an independent research project on atopic related to their major. This course enablesstudents to integrate computation into advancedcourses in theoretical and/or experimentalscience. Programming language: Python.
Requisites: Pre-req: MAT 112. PHY 112
Cross-listed as: PHY 252/MAT 252/CSI 252
Term(s) Offered: Spring, All Years
CSI 294  Special Topics  4 Credits  
Topics not regularly offered in a department'snormal course offerings, chosen based on currentstudent interest and faculty expertise. Specialtopic courses can only be offered 3 times; afterthis, the course must be approved as a regularcourse. Graded A-F or Pass/Fail.
Term(s) Offered: All Terms, All Years
CSI 295  On-Campus Research  4 Credits  
An agreement between a sponsoring faculty memberand a student researching a topic of interest thatis relevant to a student's major or minor.Research is conducted on campus. Students must beenrolled before the research can begin. GradedA-F or Pass/Fail. 45 hours are required percredit.
Term(s) Offered: Summer, All Years
CSI 297  Independent Study  4 Credits  
An agreement between a sponsoring faculty and astudent letting the student study a topic ofinterest not offered at WC. 45 hours are requiredper credit.
Term(s) Offered: All Terms, All Years
CSI 310  Database Systems  4 Credits  
An introduction to the design and use of databasestogether with insights into the key issues relatedto the use of database systems. The course coversthe entity relationship model; the hierarchical,network, and relational data models, and theirlanguages; functional dependencies and normalforms; the use of SQL language, and the design andimplementation of relational databases using MSACCESS and MySQL.
Requisites: Pre-req: CSI 111
Cross-listed as: CSI 310/CSI 360
Term(s) Offered: Other, Non Conforming
CSI 320  Theory of Computation  4 Credits  
Formal models of computation such as finite stateautomata, pushdown automata, and Turing machineswill be studied along with corresponding formallanguages and context-free languages.Uncomputability, including the halting problem,and computational complexity including theclassesP and NP and NP-completeness will be studied.
Requisites: Pre-req: CSI 111 and CSI 240
Cross-listed as: CSI 320/CSI 350
Term(s) Offered: Other, Non Conforming
CSI 330  GUI and Mobile Programming  4 Credits  
Covers the fundamentals of existing mobiledevelopment frameworks, including data storage,the cloud, security, hashing, accessibility andthe nature of user interaction. Other topics mayinclude industry standards for GUI and mobileprogramming such as the model-view-controllerframework, XML, and JSON.
Requisites: Pre-req: CSI 210
Term(s) Offered: Other, Non Conforming
CSI 340  Numerical Analysis  4 Credits  
This course introduces techniques forapproximating solutions to various mathematicalproblems that are either computationallychallenging or impossible to solve via directmethods. Topics to be covered include erroranalysis, interpolation and extrapolation,numerical differentiation and integration, anditerative methods for solving systems of equationsand eigenvalue problems.
Cross-listed as: MAT 340/CSI 340
Term(s) Offered: Other, Non Conforming
CSI 350  Graph Theory and Combinatorics  4 Credits  
This course introduces elementary combinatorialtechniques used to enumerate large but finitediscrete sets, including some of the following:permutations, the binomial theorem, partitions,bijections, and well-known sequences. It alsopresents the fundamentals of graph theory: trees,networks, paths and connectivity, matchings,colorings, and optimization algorithms. There is asignificant proof-writing component pluscomputations and opportunities for coding.
Requisites: Pre-req: CSI 240
Cross-listed as: CSI 350/MAT 350
Term(s) Offered: Other, Non Conforming
CSI 360  Machine Learning  4 Credits  
This is a class in finding patterns. Machinelearning methods fit models to data to buildrepresentations of the underlying relationships.These models can then be applied to do tasks likeclassification, regression, and generation. As anundergraduate-level introductory course we focuson the core ideas and applications of the mostimportant models, such as linear and logisticregression, nearest-neighbor methods, and supportvector machines. We will give special emphasis toa variety of new deep learning techniques.
Requisites: Pre-req: CSI 111
Term(s) Offered: Spring, Odd Years
CSI 380  Design & Analysis of Algorithms  4 Credits  
The topic of this course is the design of computeralgorithms and techniques for analyzing theirefficiency and complexity. Types of algorithmsinclude greedy algorithms, divide and conqueralgorithms, dynamic programming, searching andsorting.
Requisites: Pre or co-req: CSI 112 and CSI 240
Term(s) Offered: Other, Non Conforming
CSI 390  Computer Science Internship  4 Credits  
A learning contract is developed prior toenrollment in an internship. Evaluation of studentperformance is completed by the faculty mentorbased on the fulfillment of the contract terms andwritten evaluation by the internship sitesupervisor. Students must work at least 45 hoursfor each internship credit and be enrolled in thecourse prior to beginning work. Graded A-F orPass/Fail.
Term(s) Offered: All Terms, All Years
CSI 394  Special Topics  4 Credits  
Topics not regularly offered in a department'snormal course offerings, chosen based on currentstudent interest and faculty expertise. Specialtopic courses can only be offered 3 times; afterthis, the course must be approved as a regularcourse. Graded A-F or Pass/Fail.
Term(s) Offered: All Terms, All Years
CSI 395  On-Campus Guided Research  4 Credits  
An agreement between a sponsoring faculty member a
Term(s) Offered: Summer, Non Conforming
CSI 396  Off-Campus Research  4 Credits  
An agreement between a sponsoring faculty memberand a student researching a topic of interest thatis relevant to a student's major or minor.Research is conducted off-campus. Students mustbe enrolled before the research can begin. GradedA-F or Pass/Fail. 45 hours are required percredit.
Term(s) Offered: Summer, All Years
CSI 397  Independent Study  4 Credits  
An agreement between a sponsoring faculty and astudent letting the student study a topic ofinterest not offered at WC. 45 hours are requiredper credit.
Term(s) Offered: All Terms, All Years
CSI 410  Computer Graphics  4 Credits  
Introduces the principles of computer graphics,including transformations, viewing and modeling.Other topics may include perspective calculations,memory coherence, z-buffering, texturing, lightingand other fundamentals required to work withemerging graphics systems. Students writeprograms using a graphics library like OpenGL orDirectX.
Requisites: Pre-req: CSI*112
Term(s) Offered: Other, Non Conforming
CSI 420  Artificial Intelligence  4 Credits  
Explores the principles and techniques involvedin programming computers to do tasks that usuallyare thought of as requiring intelligence when doneby people. State-space and heuristic searchtechniques, logic and other knowledgeablerepresentations, and statistical and neuralnetwork approaches are applied to problems suchas game playing, planning and understanding ofnatural language, and computer vision.
Requisites: Pre-req: CSI 112 and CSI 240
Cross-listed as: CSI 420/CSI 460
Term(s) Offered: Other, Non Conforming
CSI 430  Operating Systems  4 Credits  
Introduction to operating systems includingtasking, memory management, process scheduling,file systems, protection, and distributed systems.
Requisites: Pre or co-req: CSI 112
Term(s) Offered: Other, Non Conforming
CSI 440  Computer Networks  4 Credits  
This course covers the principles, structure, andoperation of computer networks. Emphasis is placedon understanding the protocols and mechanisms usedin the Internet, and in local and wide-areanetworks. Students write application-levelprograms running on the LINUX or Windows operatingsystems.
Requisites: Pre or co-req: CSI 112
Cross-listed as: CSI 440/CSI 470
Term(s) Offered: Other, Non Conforming
CSI 450  Data Ethics and Practicum  4 Credits  
This course, intended to be taken near the end ofthe Data Science major, focuses on gaininghands-on experience on real problems. Studentsselect and work a series of data analysisprojects in groups. Class time focusses ontechnical troubleshooting, ethical reflection, andpresentations of work. The class seeks to expandstudents' imagination around their own role asethical agents in the process of doing datascience..
Requisites: Pre-req: MAT 209. MAT 220 or CSI 220
Term(s) Offered: Spring, Non Conforming
CSI 460  Software Engineering  4 Credits  
The topic of this course is the systematic processfor creating software products as opposed tosimply coding programs. The course covers projectand product management, software architecture anddesign patterns, working in teams and effectivecommunication. The course provides individualizedand collaborative experience and a broadunderstanding of the practical skills necessary tobe an effective software engineer in aprofessional environment.
Requisites: Pre or co-req: CSI 210
Term(s) Offered: Spring, All Years
CSI 470  Computer Networks  4 Credits  
this course covers the principles, structure, andoperation of computer networks. Emphasis will beplaced on understanding the protocols andmechanisms used in the Internet, and in local andwide area networks. The student will writeapplication-level programs running on the LINUXor Windows Operating systems.
Requisites: Pre or co-req: CSI 240 and CSI 250
Cross-listed as: CSI 440/CSI 470
Term(s) Offered: Spring, All Years
CSI 490  Computer Science Internship  4 Credits  
A learning contract is developed prior toenrollment in an internship. Evaluation of studentperformance is completed by the faculty mentorbased on the fulfillment of the contract terms andwritten evaluation by the internship sitesupervisor. Students must work at least 45 hoursfor each internship credit and be enrolled in thecourse prior to beginning work. Graded A-F orPass/Fail.
Term(s) Offered: All Terms, All Years
CSI 494  Special Topics  4 Credits  
Topics not regularly offered in a department'snormal course offerings, chosen based on currentstudent interest and faculty expertise. Specialtopic courses can only be offered 3 times; afterthis, the course must be approved as a regularcourse. Graded A-F or Pass/Fail.
Term(s) Offered: All Terms, All Years
CSI 495  On-Campus Guided Research  4 Credits  
An agreement between a sponsoring faculty memberand a student researching a topic of interest thatis relevant to a student's major or minor.Research is conducted on campus. Students must beenrolled before the research can begin. GradedA-F or Pass/Fail. 45 hours are required percredit.
Term(s) Offered: Summer, Even Years
CSI 496  Off-Campus Research  4 Credits  
An agreement between a sponsoring faculty memberand a student researching a topic of interest thatis relevant to a student's major or minor.Research is conducted off-campus. Students mustbe enrolled before the research can begin. GradedA-F or Pass/Fail. 45 hours are required percredit.
Term(s) Offered: Summer, All Years
CSI 497  Independent Study  4 Credits  
An agreement between a sponsoring faculty and astudent letting the student study a topic ofinterest not offered at WC. 45 hours are requiredper credit.
Term(s) Offered: All Terms, All Years