CS 120 Information Management and Analysis 3 credits
An in-depth study of the essentials of word-processing, spreadsheets, and information management, using modern computers and software. Substantial student competence in these areas is required for further study at the College. Applications are presented from various fields.
CS 150 Computers in Society 3 credits
An introduction to the use of computing devices and their impact on society. Topics include: how computers work, the history of computing, philosophical issues in computing, the economics of software development, intellectual property issues, privacy and security, applications of computing, legal issues, the digital divide, the role of computing in government, and computer-assisted collaboration.
CS 160 Introduction to Web Design 3 credits
An introduction to the basics of the XHTML web page specification language, cascading style sheets (CSS) and the Plone Content Management System (CMS). Students learn to create attractive, professional web pages and websites using XHTML and CSS, including embedded graphics and multimedia. The student also learns to use a CMS for easier web page implementation, including add-ons such as forums and shopping carts. This course is designed for students without a background in programming and may not be used to satisfy the requirements of the Computer Information Science Major or Minor.
CS 190 Computer Science I 3 credits
An introduction to software development. Students develop text, graphical user interface (GUI) and applet web graphical applications using object oriented techniques in Java. Emphasis is placed on good software engineering practices for problem analysis, program design, documentation, testing and debugging.
CS 191 Computer Science II 3 credits
A continuation of CS 190 taught in the Java programming language. Students develop stand alone GUI and console applications and applets of increasing sophistication. Topics include: arrays, objects and classes, encapsulation and inheritance, file management, dynamic data structures, searching, sorting, recursion, stacks and queues, with emphasis on abstraction and implementation and an introduction to algorithm analysis. Prerequisite: CS 190 with a minimum grade of “C-.”
CS 195 Database Management Systems 3 credits
An introduction to the practice and principles of relational database design, implementation and manipulation. Topics include: Structured Query Language (SQL), relational models, Entity-Relationship modeling, security, multi-user databases, transactions, Object Relational Mapping and database administration. Students will design and implement relational database applications of increasing complexity. Prerequisite: CS 190 with a minimum grade of “C-”; prerequisite or corequisite: CS 191.
CS 197 Special Topics 1-6 credits
CS 235 Computer Networks 3 credits
An investigation of the transmission of data and information between computer systems. Topics include simple data communications, protocols, error control, local-area networks, wide-area networks such as the Internet packet-switching networks, and various networking models. Various data communication hardware and software are also examined. Prerequisites: CS 191 with a minimum grade of “C-”; MATH 140 or above excluding MATH 209 and MATH 210 or Accuplacer College-Level Mathematics score of 75 or above.
CS 250 Web Applications Development I 3 credits
A course studying modern web site design, focusing on embedded languages, the use of audio and visual plug-ins, web application servers, and the tools that aid development on a professional scale. Basic use of Structured Query Language is studied. Cross platform development, applications to e-commerce, Internet and Intranet are considered. At least one major project is required. Offered in alternate years, 2010-2011. Prerequisites: CS 191 with a minimum grade of “C-”; MATH 140 or above excluding MATH 209 and MATH 210 or Accuplacer College-Level Mathematics score of 75 or above.
CS 275 Scientific Programming, Modeling and Simulation 3 credits
Designed to develop programming skills appropriate for scientific and industrial applications. Topics may include numerical solution of differential equations, singular value decomposition, and fourier analysis. Emphasis is placed on problem modeling, algorithm development and data visualization. Prerequisites: CS 190 and MATH 151 with a minimum grade of "C-."
CS 280 Data Structures 3 credits
A survey of advanced data structures and algorithms. Topics include: linear lists, linked lists, arrays, tree, multi-linked lists, hashing, searching, sorting, recursion and analysis of the algorithms that use these structures. Taught in Java. Prerequisites: CS 191 with a minimum grade of “C-”; MATH 140 or above excluding MATH 209 and MATH 210 or Accuplacer College-Level Mathematics score of 75 or above.
CS 297 Special Topics 1-6 credits
CS 300 Introduction to Computer Architecture with Assembly Language 3 credits
An introduction to computer organization using assembly-language programming. Topics include numeral systems, byte instructions, branching, indexing, computer arithmetic, subroutines, logical operators, and I/O. The fundamental concepts and terminology associated with computer hardware systems are also covered. The physical and electronic components of a computer, including processing units, memory units, and input/output devices are surveyed. Prerequisite: CS 280 with a minimum grade of “C-.”
CS 310 Visual Programming 3 credits
A focus on common environment and design tools used in the development and implementation of graphic user interfaces. Emphasis is placed on the automation of tasks and the customization of systems by programming constructs. Applications are developed for both a local environment and a broad-based use of the Internet. The implementation language is C++ or Visual Basic. May be repeated with a different implementation language. Prerequisite: CS 191 with a minimum grade of “C-.”
CS 320 Programming Languages 3 credits
An investigation of the theory, usage, and implementation of programming languages. Emphasis is on the theoretical basis for programming languages and practical examples of their use. Basic language paradigms are developed: imperative, functional, object-oriented, and logic. Other topics include type systems and language translation. Languages studied include C, C++, Java, Lisp, Haskell, Prolog, and Python. Prerequisite: CS 280 with a minimum grade of “C-.”
CS 330 Operating Systems with UNIX System Administration 3 credits
A study of the major components of operating systems, such as job and resource management in both multiprogramming and multiprocessing systems. Additionally, an introduction to the UNIX operating system includes UNIX commands, the role of the system administrator, the file system, controlling processes, programming in the shell, the network file system, and security. Prerequisite: CS 300 with a minimum grade of “C-.”
CS 350 Web Applications Development II 3 credits
A study of client-server applications designed around the World Wide Web. Students design and implement applications which provide access to centralized resources such as databases and mail servers from web browsers. Students utilize Perl, CGI, and SQL to construct applications such as an online shopping site, an enterprise document server, or a shared Intranet database. Security of data during transmission and storage is emphasized. Prerequisite: CS 250 with a minimum grade of “C-.”
CS 375 Numerical Methods 3 credits
Designed to provide students with the skills needed to solve mathematical problems using a computer. Topics include: computer arithmetic, roots of a single equation, nonlinear simultaneous equations, matrices, determinants, linear simultaneous equations, numerical integration, differential equations, interpolation, curve fitting, and other topics as time permits. Prerequisites: CS 275 or CS 280 with a minimum grade of “C-”; and MATH 151.
CS 391 Computer Information Science Seminar 1 credit
An advanced topic in computing, selected by the instructor from areas of computer science not usually included in the regular curriculum, conducted in a lecture, seminar or individualized format. Student involvement through presentations is emphasized. May be taken under different topics for a total of three credits. Prerequisite: CS 191 with a minimum grade of “C-.”
CS 397 Special Topics 1-6 credits
CS 410 Systems Analysis and Design 3 credits
The fundamental concepts of systems analysis and design are studied in the context of computerized information systems. Topics include high-level system construction tools, system design methodology, data representation languages such as XML, server-based system design, web services, system security, and system description languages such as UML. Also addressed is the human element in system design: working with users and domain experts to develop system requirements, and understanding the challenges of large scale system projects. Each student completes a number of systems design projects during the term. Prerequisite: CS 310 with a minimum grade of “C-.”
CS 412 Software Engineering 3 credits
An introduction to the fundamental principles of software engineering. Formal software development techniques and high-level software tools are emphasized. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include encapsulation and reuse, design patterns, object-based design, software testing and quality, formal methods for software design, and project management. Students are expected to complete a significant project that employs techniques from the topics studied. Prerequisite: CS 410 with a minimum grade of “C-.”
CS 430 Computer Graphics 3 credits
A presentation of the design and use of computer-graphics systems (hardware and software) and construction of two- and three-dimensional graphics. Applications of computer graphics in business, industry, education, and communications are emphasized. Prerequisite: CS 280 with a minimum grade of “C-.”
CS 480 Computer Information Science Application Project 3 credits
Students develop a comprehensive application project in the area of their specialization. Possible projects include software development, CAI program development, systems analysis consultation with area businesses, or development of a computer hardware/software training program. A public presentation of the project is made before the CS faculty and students. Prerequisite: 24 credits of CS course work, including 12 upper-division credits.
CS 490 Workshop in Computer Information Science 1-6 credits
A series of organized meetings dealing with a topic of current interest. Offered periodically in a variety of computer-related subjects. Only three credits of this title can be applied toward a Computer Information Science Minor.
CS 492 Independent Study in Computer Information Science 1-3 credits
A singular investigation into a unique problem agreed upon by the student and the advisor. Independent Studies (CS 192, CS 292, CS 392, and CS 492) may be repeated for a total of up to 12 credits.
CS 497 Special Topics 1-6 credits
CS 499 Internship in Computer Information Science 3-12 credits
Students participate in a supervised field experience with a cooperating firm in the computer science field. The sponsoring faculty member provides evaluations during periodic visitations. A formal paper is required of the student. Specific department requirements must be met to participate in this course. Prerequisite: 18 credits of Computer Information Science course work, including nine upper-division credits.