Computer Science Courses

CS 104 - Technology - Tools for Learning

(Credits: 3.00)

This course provides a foundation in technology use. Included are an introduction to the latest and most current information available on computers and technology. Students will gain a solid understanding of the current trends in technology and computer concepts as they are applied to the digital world. Hands-on application of word processing, spreadsheets and charts, and presentation software are emphasized. The effective and ethical use of the Internet as an information resource is considered. Searching techniques applicable to library online catalogs, electronic databases, and the Internet are examined. Students also explore the use of word processing software to produce a paper in APA and/or MLA format.

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 programming. Its main emphasis is on developing an application based on the analysis of the user's requirements. The main programming structures such as iteration, decision making, user-defined functions, arrays and string functions are covered as well as algorithm development. The analytical design of the user interface and professional documentation also are covered in this course. 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
Sophomore standing or department consent

CS 235 - Social Networks:Behind the Scenes

(Credits: 3.00)

In this hands-on course, the behind the scenes of social networks are examined and experienced by creating a simple social network. In addition, two major social media environments of Facebook and OpenSocial (Google) are used to experience with the capabilities publicly available through various programming APIs for social media. Through these lab activities, students receive hands-on experience in developing their own sample social media applications which can be integrated to websites and/or mobile devices. Security and privacy issues with social media will be examined in depth as well. 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 are covered. Topics such as game planning, 2-D graphics, effects, lights, camera, transformations, motions, interaction, and more are discussed in the context of programming.

Corequisite: CS 213.

CS 300 - Assembly Language

(Credits: 3.00)

Course members 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. Course members 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)

Various data structures including lists, trees, and tables, and algorithms such as searching, sorting, and recursion with emphasis on program analysis and design are studied. The choice of appropriate data structures based on the analysis of the problem domain with application testing/modifications also are discussed. 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: MT 209 or departmental approval.

CS 330 - Advanced Web Topics

(Credits: 3.00)

Web development in a client-server or multi-tier environment is studied using advanced features of markup languages (in particular, EXtensible Markup Language or XML), server pages, 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 involves the independent study of the particular subject under the direction of a faculty member. Independent study can be terminated at the discretion of the faculty member if the student does not progress at a rate which meets minimum expectations. 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. Two internships are recommended: one as a service to a non-profit organization, and one working in a corporate environment. 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)

Because of their power and usefulness, an understanding of database management systems (DBMS) and their application is important to all computer users. This course is a study of database management systems, DBMS models, database design, implementation, and management. Students will learn to use real database products through hands-on experiences. 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 systems analysis and design process. Team work is emphasized. Prerequisite: CS 213.

CS 435 - System Software

(Credits: 3.00)

System software is an essential part of every computer system. Through lecture, demonstrations, projects and presentations, class members will explore system software concepts and trends including open source and non-open source operating systems, compilers, and drivers. The students will learn how to customize the system environment using different scripting techniques. In addition, different system level services and servers and their configuration will be covered. Prerequisite: CS 212, CS 305.