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
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.
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.
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
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.
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.
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
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.
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.
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
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..
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.
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