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 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 the campus computer network.
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.
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.
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.