Computer Science Courses
CSC 1000 COMPUTER LITERACY: INTRODUCTION TO COMPUTERS AND INFORMATION TECHNOLOGY (3 s.h.)
This course is an introduction to computers and their uses in the electronic office. The course assumes no prior computer experience. Topics will include history of computers, organization and structure of the typical computer, simple troubleshooting of the computer, how to set up computers for use, basic keyboard skills, overview of uses of the computer, overview of different operating systems and user interfaces, introduction of text editing and word processing, electronic mail, databases, spreadsheets, telecommunications, etc. Prerequisite: none. This course is offered every fall and spring semester.
CSC 2010 INTRODUCTION TO COMPUTER SCIENCE (3 s.h.)
An introduction to computer science and programming. No prior programming experience required. Typical problems from the office workplace and their computer solutions will be explored. Elementary problem solving and programming techniques will be studied. This course is offered every fall and spring semester.
CSC 2020 INTRODUCTION TO PROGRAMMING (3 s.h.)
Problem solving, algorithm development, and programming. Some of the problem solving techniques include top-down design, stepwise refinement, structured programming, and object-oriented design. Prerequisite: CSC 2010 or permission of the instructor. This course is offered every spring semester.
CSC 2200 INTRODUCTION TO COMPUTER ORGANIZATION (3 s.h.)
Computer architecture, organization, data conversions, data representations, CPU structure, memories, addressing, I/O devices, and Assembly Language programming are some of the topics. Prerequisite: CSC 2010 or permission of the instructor. This course is offered every spring semester.
CSC 3010 INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (3 s.h.)
An introduction to the object-oriented programming methodology using a modern object-oriented programming language. Algorithms and data structures will be studied from the object-oriented viewpoint. The Class concept as an architectural design tool will be a major focus of the course. Prerequisite: CSC 2010 or 2020 or permission of the instructor. This course is offered every fall semester.
CSC 3050 SOFTWARE ENGINEERING IN THE UNIX PROGRAMMING ENVIRONMENT (3 s.h.)
An intensive course in the study of large programming projects and how they are accomplished/implemented in the Unix programming environment. Topics include Java, C, and the Unix programming environment; the tools that Java, C, and Unix provide for dealing with large programming projects; and various topics in Software Engineering. Prerequisites: CSC 3010 or permission of instructor. This course is offered every spring semester.
CSC 3090 WEB TECHNOLOGIES AND PROGRAMMING (3 s.h.)
Students study a broad spectrum of Web programming technologies. Materials include markup languages, cascading style sheets, document object model, client-slide scripting, server-side application development, and multi-tier Internet database application development. Prerequisites: CSC 3010 with a grade of C or better. This course is offered as needed.
CSC 3100 DATA STRUCTURES AND ALGORITHMS (3 s.h.)
Complexity, data structures, searching and sorting not covered in 3010, graphs, and mathematical algorithms. Prerequisites: CSC 3010 or permission of instructor. This course is offered every spring semester.
CSC 3140 NUMERICAL METHODS (3 s.h.)
Error analysis, interpolation, numerical differentiation and integration, solutions of linear and non-linear systems of equations, and ordinary differential equations. Prerequisite: MAT 2320, 3120, and knowledge of a high-level language. Cross listed as MAT 3140. This course is offered as needed.
CSC 3250 PROGRAMMING LANGUAGES (3 s.h.)
Design and implementation of contemporary programming languages, language syntax and translation, data structures, sequence control, subprograms, storage management, and theoretical models. Prerequisite: CSC 3100 and MAT 2500, or permission of instructor. This course is offered as needed.
CSC 3300 INTRODUCTION TO MOBILE APPLICATION DEVELOPMENT (3 s.h.)
An Introduction to programming mobile devices. Concepts of data input, output, data structures and algorithms used in mobile computing will be discussed. Students will learn how to design user interface, use different media and GPS technology in their mobile applications. Prerequisite: CSC 3010 or permission of the instructor. This course is offered as needed.
CSC 3500 COMPUTER GRAPHICS (3 s.h.)
This course provides a broad overview of the basic concepts of computer graphics. It introduces techniques for 2D and 3D computer graphics, including modeling and representation, illumination and shading, rendering, texturing, and advanced software tools. The student will learn fundamental algorithms and techniques and gain the basic knowledge necessary to understand computer graphics. In addition the general features of graphics hardware will be covered. Prerequisites: CSC 3100 or permission of instructor. This course is offered as needed.
CSC 3600 INTRODUCTION TO COMPUTER SECURITY (3 s.h.)
The introductory course focuses on the theory and practice of implementing security in the most high profile areas of computing systems. On the theoretical side, the course studies principles and abstractions that underlie security. On the practical side, the course studies defenses against real-world attacks, and security as part of the software engineering process. Students gain experience with the design and implementation of secure computing systems through a significant security programming projects. Prerequisite: CSC 301 or permission of the instructor. This course is offered as needed.
CSC 4100 OPERATING SYSTEMS (3 s.h.)
Operating systems, including job-control languages, supervisor programs, libraries, monitor control systems, I/O device management, and buffering techniques. Prerequisite: CSC 3100 or permission of instructor. This course is offered every fall semester.
CSC 4110 COMPUTER NETWORKS (3 s.h.)
A systematic study of the organization and management of a computer network system. Prerequisite: Permission of instructor. This course is offered as needed.
CSC 4120 THEORY OF COMPUTABILITY (3 s.h.)
The concept of effective computability, Turing machines, primitive recursive functions, Godel numbering, universal Turing machines, and undecidable predicates. Prerequisites: MAT 2510, CSC 3250, or permission of instructor. Cross listed as MAT 4120. This course is offered as needed.
CSC 4130 WIRELESS AND MOBILE NETWORKS (3 s.h.)
The rapid growth of mobile phone use, satellite services, and the wireless Internet are generating tremendous changes in wireless networking systems. This course aims to introduce fundamental and comprehensive issues related to wireless and mobile telecommunication systems. It presents the wireless and mobile network architectures, technologies and protocols and explores different wireless network types, the latest wireless applications. Format of this class: Lectures are combined with discussions. Students are expected to actively participate at in-class discussions participants, by studying the relevant chapters. Prerequisite: CSC 4110 or Permission of the Instructor This course is offered as needed.
CSC 4150 COMPUTER ARCHITECTURE (3 s.h.)
Central processors, control unit and microprogramming, memory management, I/O and interrupts, combinational circuits, and error detection. Prerequisites: CSC 2200. This course is offered every fall semester.
CSC 4170 SYSTEMS ANALYSIS, DESIGN, AND IMPLEMENTATION (3 s.h.)
A survey of the problems and solutions encountered when implementing information systems. Requirements specification, analysis, and design are some of the topics that will be covered. This course is offered as needed.
CSC 4200 DATABASE MANAGEMENT (3 s.h.)
Data models, normalization, query facilities, file organization, index organization, security, integrity, and reliability. Prerequisites: CSC 3050, 3100, or permission of instructor. This course is offered as needed.
CSC 4300 COMPILER CONSTRUCTION (3 s.h.)
Formal grammars, syntax, lexical scanners, parsing, symbol tables, storage allocation, object code generation, error handling, code optimization, use of compiler writing languages, and overall design. Prerequisites: CSC 2200, 3100, and 3250; MAT 2510. This course is offered as needed.
CSC 4400 HUMAN COMPUTER INTERFACE DESIGN AND DEVELOPMENT (3 s.h.)
A survey of the issues, tools, and techniques involved in the design of a modern interactive multimedia-computer application. Lecture will consist of selected topics from the field of Human-Computer Interaction (HCI) and applied application development. Typical application tools will be examined. An individual or group project will be part of the course grade. Prerequisites: CSC 3100 or permission of instructor. This course is offered as needed.
CSC 4500 GAME PROGRAMMING (3 s.h.)
This course covers the principles of designing and implementing computer games. Different aspects of computer game development such as user interfaces, artificial intelligence, multimedia components, networking, databases in games and game ethics are discussed. Prerequisites: CSC 3500 or permission of instructor. This course is offered as needed.
CSC 4600 WINDOWS AND LINUX SECURITY (3 s.h.)
During this course, students will be exposed to Windows and Linux Server technology. The Network server is the foundation platform for all services requested by computer users around the world. From Email servers to file servers, we all use a networked server to conduct business and communicate with our family and friends. This course will explain the secure nature of implementation and facilitation of a secure Windows and Linux Server network. Prerequiste: CSC 3100 or permission of the Instructor. This course is offered as needed.
CSC 4850 SPECIAL TOPICS (1-4 s.h.)
Advanced students study in-depth compiler design, artificial intelligence, graphics, simulation, organization, formal logic, or computability. Prerequisite: permission of the department chair. This course is offered as needed.
CSC 4900 SENIOR PROJECT (3 s.h.)
The CIT senior project must be a significant body of works representative of the student’s abilities and knowledge. Students are advised to choose a project in their junior year. Wide latitude is allowed in the project proposals; however, the student must receive written CSC faculty approval. This course is offered as needed.
CSC 4990 INDEPENDENT STUDY IN COMPUTER SCIENCE (TBA)
An opportunity for a well-qualified, upper-division student to engage in special research in his/her major. Requires approval by the faculty advisor, the supervising professor, the department chair, and the school dean before approval by the Vice President for Academic Affairs. Credit to be determined.