C S-COMPUTER SCIENCE (C S)

C S 110. Computer Literacy

3 Credits

This course provides a broad introduction to computing, including computer and information technology concepts; economic and social implications of technology; database management, spreadsheet, word processing, and presentation applications.

C S 111. Computer Science Principles

4 Credits (3+2P)

This course provides a broad and exciting introduction to the field of computer science and the impact that computation has today on every aspect of life. It focuses on exploring computing as a creative activity and investigates the key foundations of computing: abstraction, data, algorithms, and programming. It looks into how connectivity and the Internet have revolutionized computing and demonstrates the global impact that computing has achieved, and it reveals how a new student in computer science might become part of the computing future.

Prerequisite(s): MATH 120 or higher.

C S 117. Introduction to Computer Animation

3 Credits

Introductory course for learning to program with computer animation as well as learning basic concepts in computer science. Students create interactive animation projects such as computer games and learn to use software packages for creating animations in small virtual worlds using 3D models. Recommended for students considering a minor/major in computer science or simply interested in beginning computer animation or programming.

C S 150. C Programming

3 Credits (2+2P)

Programming in the C language. May be repeated up to 3 credits.

Prerequisite(s): MATH 120 or higher.

C S 151. C++ Programming

3 Credits (2+2P)

Introduction to object-oriented programming in the C++ language. May be repeated up to 3 credits.

Prerequisite(s): MATH 120 or higher.

C S 152. Java Programming

3 Credits (2+2P)

Programming in the Java language. May be repeated up to 3 credits.

Prerequisite(s): MATH 120 or higher.

C S 153. Python Programming I

3 Credits

This course is an introduction to programming in the Python language, covering fundamental scripts, data types and variables, functions, and simple object creation and usage. The focus will be on preparing students to use Python in their own areas. No prior programming experience is required.

Prerequisite(s): MATH 120 or higher.

C S 154. Python Programming II

3 Credits

This course covers advanced Python programming, including classes, objects, and inheritance, embedded programming in domain applications, database interaction, and advanced data and text processing. The focus will be on preparing students to use Python in their own areas.

Prerequisite(s): C S 153 or C S 453.

C S 155. Internet Programming I

3 Credits

This course is an introduction to programming for the Web in PHP and Javascript, covering fundamental web scripting ideas, CSS, data types and variables, functions, simple object creation and usage. Javascript usage will focus on dynamic page content. No prior programming experience is required, though a basic understanding of HTML will be assumed.

Prerequisite(s): MATH 120 and a basic understanding of HTML.

C S 156. Internet Programming II

3 Credits

This course covers advanced web scripting, including Javascript with AJAX, PHP integration with databases, object oriented features of PHP and Javascript, advanced CSS usage, and using web application frameworks.

Prerequisite(s): C S 155 or C S 455.

C S 157. Topics in Software Programming and Applications

3 Credits (2+2P)

Current topics in computer programming and software applications. Topic announced in the Schedule of Classes. May be repeated if subtitle is different.

C S 158. R Programming I

3 Credits

This course is an introduction to data processing in the R language, covering fundamental script configuration, data types and data collections, R control structures, and basic creation of graphs and data visualizations. This course will not focus on the statistical capabilities of R, though some basic statistical computations will be used.

Prerequisite(s): MATH 121G.

C S 159. R Programming II

3 Credits

This course covers advanced R programming, including advanced data collection processing, advanced data visualizations, object oriented features of R, and file processing. It is recommended that students have one statistics course before taking this course.

Prerequisite(s): C S 158 or C S 458.

C S 171G. Introduction to Computer Science

4 Credits (3+2P)

Computers are now used widely in all area of modern life. This course provides understanding of the theoretical and practical foundations for how computers work, and provides practical application and programming experience in using computers to solve problems efficiently and effectively. The course covers broad aspects of the hardware, software, and mathematical basis of computers. Weekly labs stress using computers to investigate and report on data-intensive scientific problems. Practical experience in major software applications includes an introduction to programming, word processing, spreadsheets, databases, presentations, and Internet applications.

Prerequisite(s): MATH 210G or MATH 120 or higher.

C S 172. Computer Science I

4 Credits (3+2P)

Computational problem solving; problem analysis; implementation of algorithms. Recursive structures and algorithms. Crosslisted with: C S 460.

Prerequisite(s): MATH 121G or higher; C S 111 or successful placement.

C S 209. Special Topics.

1-3 Credits

May be repeated for a maximum of 12 credits.

C S 271. Object Oriented Programming

4 Credits (3+2P)

Introduction to problem analysis and problem solving in the object-oriented paradigm. Practical introduction to implementing solutions in the C++ language. Pointers and dynamic memory allocation. Hands-on experience with useful development tools. May be repeated up to 4 credits.

Prerequisite(s): C- or better in C S 172 or E E 112.

C S 272. Introduction to Data Structures

4 Credits (3+2P)

Design, implementation, use of fundamental abstract data types and their algorithms: lists, stacks, queues, deques, trees; imperative and declarative programming. Internal sorting; time and space efficiency of algorithms.

Prerequisite(s): At least a C- in C S 172, or placement.

C S 273. Machine Programming and Organization

4 Credits (3+2P)

Computer structure, instruction execution, addressing techniques; programming in machine and assembly languages.

Prerequisite(s): At least a C- in C S 172 or E E 161.

C S 278. Discrete Mathematics for Computer Science

4 Credits (3+2P)

Discrete mathematics required for Computer Science, including the basics of logic, number theory, methods of proof, sequences, mathematical induction, set theory, counting, and functions. Crosslisted with: MATH 278.

Prerequisite(s): At least C- in C S 172.