Computer Science Courses

CS 104 - Technology - Tools for Learning

(Credits: 3.00)

Students will gain a solid understanding of the current trends in technology and computer concepts as they are applied to the digital world. The effective and ethical use of the Internet as an information resource will be considered.

CS 107 - Introduction to Computer Science

(Credits: 3.00)

An overview of the past and current computer technologies and trends, this course covers different areas of computing including binary systems, data representation, hardware, software, programming languages, network, Internet, and the Web.

CS 118 - Principles of Interactive Media

(Credits: 3.00)

This course introduces the different aspects of computer-based interactive media and games and the critical approaches in developing and the tools for analyzing them. This course discusses the process of game development, the roles of different participants in the development process, and how the technical and the artistic development proceed in tandem. Group work is emphasized. Prerequisite: Familiarity with computers.

CS 212 - Structured Programming

(Credits: 3.00)

This course is an introduction to computer programming. Students will develop applications in Java using programming concepts such as iteration, decision making, user-defined functions and arrays. Prerequisite: CS 107 or departmental approval.

CS 213 - Object-Oriented Programming

(Credits: 3.00)

The concentration of this course is on object-oriented analysis, design, and programming. Data abstraction, classes, methods, inheritance, exception handling, and polymorphism are studied. Prerequisite: CS 212 or departmental approval.

CS 215 - Selected Topics

(Credits: 1.00 - 4.00)

This is a study of a particular topic in the field of computer science. This course may be taken more than once but no more than a total of four credits apply toward the major. Prerequisite: CS 212 and departmental approval.

CS 230 - Web Page Creation

(Credits: 3.00)

Modern techniques in web page analysis and design are used to create, maintain, and enhance Web pages. Issues of consistency, usability, interactivity, accessibility, and uniformity in the organization of the layout design are covered in addition to mark-up languages and client scripting. This course may be used toward an advanced core certificate. Prerequisite: Sophomore standing or department consent.

CS 235 - Social Networks:Behind the Scenes

(Credits: 3.00)

Students will analyze the structure and functionality of various social networks with a focus on security and privacy of user information. This course may be used toward an advanced core certificate. Prerequisite: Sophomore standing or department consent.

CS 240 - Visual Programming

(Credits: 3.00)

The course introduces the design process of creating effective and user-friendly graphical user interfaces (GUI). Various components and behavior of graphical user interfaces including forms, controls, object manipulation, and application flow are covered. Corequisite: CS 212.

CS 250 - Game Programming

(Credits: 3.00)

This course focuses on creating computer games. It starts from the general design concepts and further covers the development and implementation phase followed by the ongoing maintenance and management. All aspects of game production in a single system will be covered. Topics such as game planning, graphics, effects, lights, camera, transformations, motions, interaction, and more will be discussed in the context of programming. Corequisite: CS 213.

CS 300 - Assembly Language

(Credits: 3.00)

Students will learn the function of an assembler and the role of assembly language as a development tool and also as a means of better understanding how computers work. Students will create and execute assembly language programs and compare a variety of assemblers on different systems. Prerequisite: CS 213 or departmental approval.

CS 304 - CAD and Digital Fabrication

(Credits: 3.00)

This course focuses on concepts and tools related to the design and creation of 3D objects via CAD (Computer Aided Design) software and rapid prototyping technology (3D Printing). Lectures and labs focus on design methodologies, fabrication processes, and technical proficiency in industry-standard tools for computer aided design and fabrication. Over the course of the semester, students will practice solving complex design problems, and will create unique objects using cutting edge technology. Prerequisite: ART 101 or CS 107 or CS 118 or CS 212 or instructor consent.

CS 305 - Computer Architecture

(Credits: 3.00)

This course provides a conceptual tour of the inside of a computer, and a study of computer components, their structure and function. Students will learn about the central processing unit, digital logic, computer arithmetic, data representation, instruction execution, and machine assembly languages. Prerequisite: CS 212 or departmental approval.

CS 306 - Data Structures

(Credits: 3.00)

Students will learn the fundamentals of abstract data types and implement data structures including lists, trees, and queues. Students will then apply these data structures to program development to improve program efficiency based on algorithm complexity analysis. Prerequisite: CS 213.

CS 315 - Discrete Mathematical Structures

(Credits: 3.00)

Topics include logical reasoning, truth tables, and Boolean algebra; modular arithmetic, mathematical induction, and properties of the integers; functions, relations, and equivalence relations; an introduction to proofs and proof writing; and an introduction to graph theory. Also listed under MT 315. Prerequisite: at least a C in MT 196 or departmental approval.

CS 330 - Advanced Web Topics

(Credits: 3.00)

Students will study Web development in a client-server using advanced features of markup languages (in particular, EXtensible Markup Language or XML), PHP, and other server-side scripting languages. Prerequisite: CS 212, CS 230.

CS 361 - Network and Telecommunications

(Credits: 3.00)

This course deals with different types of networks such as local area networks (LANS) and wide area networks (WANS). Practical experiences with local area networks will allow students to make connections with theory and implementation. The concepts and theory of network topologies, protocols, design, switching, routing, and network operations are covered. Prerequisite: CS 107 or department approval.

CS 390 - Technology Projects

(Credits: 1.00 - 3.00)

This is a directed study or practicum in which the student designs, implements, tests, and/or maintains a technology project including software, hardware, networking, etc. The project is assigned by the directing faculty member. The course may be taken more than once, but not for more than a total of three credits. Prerequisite: CS 212 and departmental approval.

CS 400 - Independent Study

(Credits: 1.00 - 3.00)

This course involves the independent study of the particular subject under the direction of a faculty member. Students will work with a faculty member throughout the semester to plan, research, implement and report on their projects. Prerequisite: B (3.0) average in computer science courses, junior or senior standing, consent of the department head and the cooperating faculty member prior to registration for the course.

CS 401 - Seminar

(Credits: 4.00)

This is a culminating experience for majors in computer science who are near the end of their program. The objectives of this seminar are to review fundamental concepts of mathematics; provide opportunities for students to integrate, synthesize and/or extend their knowledge base in the major; develop collaborative problem-solving skills in a peer group; and explore career opportunities available to graduates in mathematics and computer science. A faculty member acting as a facilitator will provide a list of topics to be covered on the exam and some problems for class discussion. Students will be expected to play a major role in planning and carrying out activities to meet the course objectives. This course is normally taken in a student's final year of upper-division coursework in the major. Prerequisite: Senior standing, MT 210 and department approval.

CS 402 - Computer Science Internship

(Credits: 1.00 - 3.00)

This course is designed to give students an opportunity to gain practical experience in the computer science career field by working with a participating firm or organization. CS 402 may be repeated for a maximum of 6 credits applicable to the computer science major. Prerequisite: Sophomore standing or above, completion of 12 minimum hours of computer science courses and departmental approval.

CS 405 - Advanced Interactive Software Implementation

(Credits: 3.00)

In this course, students will have the opportunity to incorporate concepts from all previous computer science courses to create a comprehensive interactive game or software. Students will work individually as well as in project teams on given problems to identify the main goal of the problem, analyze it and select several alternative solutions. Finally, the most feasible solution will be selected. This is a highly interactive course which includes learning new technologies and revisiting topics from both general education and major courses. Prerequisite: CS 212.

CS 407 - Database Management Systems

(Credits: 3.00)

This course is a study of database design, implementation, and management. Students will learn Structured Query Language (SQL) and use industry standard database products to gain hands-on experience. Prerequisite: CS 212.

CS 415 - Systems Analysis and Design

(Credits: 3.00)

Information systems are built to perform a variety of tasks. This course deals with techniques employed in the analysis, design, implementation, management, and maintenance of information systems. Students, through course projects, will participate in the software engineering process. Teamwork is emphasized. Prerequisite: CS 213.

CS 435 - System Software

(Credits: 3.00)

System software is an essential part of every computer system. Students will explore system software concepts and trends including open source and non-open source operating systems, compilers, and drivers. Prerequisite: CS 212, CS 305.