Computer Science (CS)
An introduction to computers and computer applications intended for non-Computer Science majors. Explore computer concepts and terminology, computer hardware and software, operating systems, the Internet, the Web, computer ethics, and security and privacy. Includes hands-on experience with Microsoft Office 2007 word processing (Word), spreadsheet (Excel), database (Access), presentation graphics (PowerPoint) and communication programs.
A survey of fundamental concepts in computer science. Covers a wide variety of topics including algorithms, automata, language translation, digital logic, machine organization, networking basics and introductory software engineering. This course will be ideal for anyone who wants a broad overview of what computer science is about. Many advanced topics will be introduced from an elementary perspective.
An introduction to the Python language, which is widely used for analyzing numerical data and text. This 7.5-week course will cover the concept of a computer program, variables, flow control statements, arrays, strings, dictionaries, functions, and file I/O. Python will be applied to solve problems in compound interest and word counts. Open to all majors. Course may not be used for credits required toward the CIS major.
An introductory course using the computer language C++. Includes general computer concepts, C++ statements, selection structures, looping, functions, arrays, pointers, and classes. Students will design and code programs to run on their laptops or online.
Continues the introduction to programming begun in CS123 with an emphasis on object-oriented design principles and programming language features that support object orientation. C++ or another object-oriented language will be used for projects throughout the course. Also includes coverage of tools for managing large software projects.
Prerequisite(s): A grade of C or higher in CS123.
This course studies methods for data visualization, and methods for finding relationships in numerical data or textual data using such techniques as regression analysis, logistic analysis, clustering, and K nearest neighbors. Excel, Python, and other freely available software packages will be used to analyze a variety of business operational and strategic problems. Open to all majors. This course is cross-listed with IS312.
A first course in Python programming including variables and data types, flow control statements, arrays, strings, dictionaries, and list comprehensions. Python will be applied to solve problems in network modelling and machine learning. Students will also learn to display data and algorithmic results using library functions.
Prerequisite(s): A grade of C or higher in CS123.
Digital computer systems, representation of data, CPU architecture, assembly language programming techniques, comparative machine architectures, assemblers, loaders and operating systems. Short programs to be written in assembly language will be assigned.
Arrays, stacks, queues, linked lists, trees, graphs, searching and sorting algorithms, hashing and recursion principles. An object-oriented programming language such as C++ will be used in writing programs illustrating the implementation of the above concepts on the computer.
Comparison of hierarchical, network and relational data models; the three levels of database architecture; function oriented vs. data-oriented system development; conceptual data modeling-entities, attributes, specialization, relationships, cardinality, keys; the relational model and normalization; using relational algebra to answer queries; database security and system recovery.
A specific topic not offered as a formal course during the given academic semester. Offered on application.
Prerequisite(s): approval of instructor.
Network architectures, topologies and protocols, operation of bridges, routers and gateways, network performance analysis, privacy, security, reliability, configuration of LAN and WAN networks, communication standards, and intranet and internet.
Prerequisite(s): CS225 or instructor permission.
Combines practical experience with technical understanding. Overview of TCP/IP, protocols, routing, setup, creating and administrating accounts, managing resources, printing environment, server architecture, installations, configurations, security. Hands-on experience with system administration of Windows and Linux. 2 hours lecture, 2 hours laboratory.
This course provides students with an opportunity to participate in an independent research project under the guidance of a faculty member. This may be a historical approach to a known problem or an original approach to a problem arising from coursework. Students may register and receive 1 to 4 credits more than once; may not exceed a total of 8 credits.
Students have the opportunity to work in an industrial, nonprofit, or advanced academic research atmosphere. Credit will be determined by the length of the experience, with a minimum of 40 hours per credit. Course will be graded as Pass/Fail. Students may register and receive 1 to 4 credits more than once; may not exceed a total of 8 credits.
A faculty-directed, hands-on experience for advanced CS and CIS students. The nature of each project will be determined by current student and faculty interests. Some possible projects involve relational database design, web programming, or network design. This course provides an open-ended mechanism by which students may gain practical, team-oriented experience at an advanced level prior to graduation.
Prerequisite(s): any CS course level 200 and above.