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.
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.
CIS 160 Web Design for the Nontechnical Person. 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.
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.
A continuation of CIS 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: CIS 190 with a minimum grade of "C-."
A singular investigation into a unique problem agreed upon by the student and advisor. Independent Studies (CIS 192,292,392,492) may be repeated for a total of up to 12 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: CIS 190 with a minimum grade of "C-"; prerequisite or corequisite: CIS 191.
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: CIS 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.
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 modeling, algorithm development and data visualization. Prerequisite: CIS 190 and MATH 151 with a minimum grades of "C-".
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: CIS 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.
A singular investigation into a unique problem agreed upon by the student and the advisor. Independent Studies (CIS 192, 292,392,492) may be repeated for a total of up to 12 credit.
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: CIS 280 with a minimum grade of "C-."
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: CIS 191 with a minimum grade of "C-."
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: CIS 280 with a minimum grade of "C-."
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: CIS 300 with a minimum grade of "C-."
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: CIS 250 with a minimum grade of "C-."
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: CIS 275 or CIS 280 with a minimum grade of "C-"; and MATH 151.
Special topics - studies to be determined by faculty, department and student.
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: CIS 410 with a minimum grade of "C-."
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: CIS 280 with a minimum grade of "C-."
An introduction to software development for mobile devices such as smart phones and tablet computers. Specific platforms include, among others, OIS (Apple) and Android. The course covers interface elements and device capabilities such as photo, video and sound, accelerometer, GPS and web services. Students are expected to complete a significant project that employs techniques specific to mobile platforms. May be repeated with a different implementation platform. Prerequisite: CIS 280 with a minimum of "C-"
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 CIS faculty and students. Prerequisite: 24 credits of CIS course work, including 12 upper-division credits.
A singular investigation into a unique problem agreed upon by the student and the advisor. Independent Studies (CIS 192, CIS 292, CIS 392, and CIS 492) may be repeated for a total of up to 12 credits.
Special topics - studies to be determined by faculty, department and student.
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.