Computer Science Option
DIMA COMPUTER SCIENCE OPTION
The DIMA Computer Science Option is a logical choice for students who would like to develop a creative coding skill set. The course of study prepares students for careers in web development, computer graphics, and interactive programming. The option requires the completion of 17 to 19 semester hours with a minimum grade of “C” or higher.
MAT 141, Foundational Discrete Mathematics, 3 SH
An in-depth introduction to discrete structures and processes such as counting techniques, sequences, indexed summations, propositional and predicate logic, introductory recursion, sets, relations, functions, graph theory, and connections among these topics. This course is prerequisite to MAT 207: Proofs and MAT 304: Discrete Mathematics for Computer Science. Prerequisite: B or better in MAT 100 or appropriate placement. Competency: Quantitative Reasoning (QR).
__________
CS 170, Language C++, 4 SH
An in-depth introduction to a modern programming language (C++) and its use in constructing programs that solve a variety of problems. Students entering the course should be familiar with fundamental programming techniques in another language, including using variables and data types, branching, looping, and one-dimensional data collections. These topics will be reviewed and extended with regard to the language C++. Other topics covered in the course include streams, files, pointers, dynamic memory allocation, scoping, argument passing mechanisms, functions as arguments, function and operator overloading, templates, recursion, classes and other user-defined data types, vectors and multidimensional arrays, strings and C-strings. The software development process is emphasized. The course will include a significant amount of project work. Prerequisite: C or better in CS 140.
OR
CS 172, Intermediate Java Programming, 3 SH
This is a continued exploration of computer programming. It emphasizes object-oriented techniques: using and creating classes and objects, inheritance, polymorphism, and Java interfaces, file input and output, introduction to event-driven programming, recursion, and elementary searching and sorting techniques. The course uses a modern widely used object-oriented programming language. It has a substantial project component. Prerequisite: CS 140.
__________
CS 205, Data Modeling & Database Design, 4 SH
An in-depth introduction to information management techniques with emphasis on data modeling and relational database design. Topics include conceptual data modeling, relational database design and normalization, database query languages, schema integration and integrity constraints, physical database design, and database usability issues in a shared environment. Students will design and implement a database application working from the E-R modeling stage through to the actual implementation. This course lays the data modeling foundations used in CS 305 Database Applications Engineering, CS350 Object Oriented Software Engineering and CS 360 Distributed Applications Engineering. Fall semester. Prerequisite: CS 140 or CS 143.
OR
MIS 301, Database Applications in Business, 3 SH
This course is designed to give the student experience in using database software in a business environment. The course will focus on the microcomputer environment, utilizing software such as Access. The emphasis will be on gaining experience in developing and writing database programs in accounting, personnel, inventory, purchasing and many other business applications. Prerequisite: MIS 260 or permission of instructor.
__________
CS 250, Advanced Topics in Programming Using Java, 4 SH
This course quickly covers all the fundamental concepts in the Java Language and then concentrates on more advanced topics such as events, various collection classes, the serialization of objects, multi-threaded programming, database connectivity, network programming with sockets, applets, and servlets. Prerequisite: CS 170 or a background in Java object-oriented programming.
OR
CS 221, Object Oriented Programming and Data Structures, 4 SH
This course begins with a thorough discussion of object-oriented programming, including single- and multiple-inheritance, polymorphism, operator overloading, memory management, name scope management, generic classes, and exception handling. The programming language used is C++. The course continues with an introduction to the abstract data types: stacks, queues, lists, sets, maps, heaps, priority queues, trees and graphs, their implementation, the associated algorithms and their implementation and basic analysis. There is a balanced emphasis on development of recursive algorithms throughout the course. The course includes a significant amount of project work. Prerequisite: C- grade or better in CS 170 and C grade or better in MAT 141.
__________
CS 245, Web Applications Development, 4 SH
This course provides a thorough coverage of Web application development. The practical work involves building a dynamic “e-commerce” web site. Such a site will respond to the user’s requests with dynamically constructed web pages. To construct the data entry web pages the students will learn how to use common HTML and XHTML features along with one scripting language such as JavaScript. The returned web pages will be built by server-side applications.. Students will be exposed to a selection of server-side technologies such as PHP, Active Server Pages (ASP), Java Server Pages (JSP), Java Servlets, or CGI programming with Perl or C++. To enhance their projects students will learn advanced features of various technologies such as cascading style sheets, objects and collections of objects, and the HTML event model for dynamic document formatting. The use of the Extensible Markup Language (XML) will also be studied. Spring semester. Rotates with CS 250 Advanced Programming with Java. Prerequisite: CS 170 or CS 172 or CS 250.
OR
CS 340, Computer Animation, 4 SH
An exploration of the theory and application of computer animation. Students will participate in both a lecture component covering both traditional and computer animation concepts, and a project component consisting of the creation of an animation including at least two objects in motion, and including one or more advanced concepts presented during the lecture component of the course. Alternate fall semesters. Prerequisite: CS 221 or CS 250 and Junior standing.
The Computer Science Option is sponsored by the Department of Computer Science.