Computer Information Technology student

Computer Science Courses

CSC 1000 COMPUTER LITERACY: INTRODUCTION TO COMPUTERS & INFORMATION TECHNOLOGY (3)
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
Offered: fall and spring


CSC 2010 INTRODUCTION TO COMPUTER SCIENCE (3)
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.
Prerequisite: none
Offered: fall and spring


CSC 2020 INTRODUCTION TO PROGRAMMING (3)
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
Offered: spring


CSC 2200 INTRODUCTION TO COMPUTER ORGANIZATION (3)
Computer architecture, organization, data conversions, data representations, CPU structure, memories, addressing, IO devices, and Assembly Language programming are some of the topics. Prerequisite: CSC 2010 or permission of the instructor
Offered: spring


CSC 3010 INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (3)
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
Offered: fall


CSC 3050 SOFTWARE ENGINEERING IN THE UNIX PROGRAMMING ENVIRONMENT (3)
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
Offered: spring


CSC 3090 WEB TECHNOLOGIES AND PROGRAMMING (3)
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 2010 or CSC 2020 or permission of instructor
Offered: as needed


CSC 3100 DATA STRUCTURES AND ALGORITHMS (3)
Complexity, data structures, searching and sorting not covered in 3010, graphs, and mathematical algorithms.
Prerequisites: CSC 3010 or permission of instructor
Offered: spring


CSC 3140 NUMERICAL METHODS (3)
Error analysis, interpolation, numerical differentiation and integration, solutions of linear and non-linear systems of equations, and ordinary differential equations.
Prerequisite: MAT 2420, 3120, and knowledge of a high-level language
Cross-listed with MAT 3140
Offered: as needed


CSC 3250 PROGRAMMING LANGUAGES (3)
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
Offered: as needed


CSC 3300 INTRODUCTION TO MOBILE APPLICATION DEVELOPMENT (3)
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
Offered: as needed


CSC 3500 COMPUTER GRAPHICS (3)
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
Offered: as needed


CSC 3601 INTRODUCTION TO CYBERSECURITY (3)
The course provides an overview of computer security topics, with a focus on understanding the most common cybersecurity threat types and implementing basic protection systems for devices, data, and network protection. introduces tools and tactics to manage cybersecurity risks, identify various types of common threats, evaluate the organization’s security, collect and analyze cybersecurity intelligence, and handle incidents as they occur.
Prerequisite: CSC 3010 or permission of the instructor
Offered: as needed


CSC 3650 INFORMATION ASSURANCE AND NETWORK SECURITY (3)
This course provides a theoretical and practical introduction to Information Assurance and Network Security (IANS). Students learn the integral concepts of cyber threats, attacks, and defense. Topics include methods and practices for securing information and information systems; how vulnerabilities arise; how to recognize evolving threats and mitigate them; concepts of risk analysis, information privacy, accountability, and policy.
Prerequisites: CSC 2010 or CSC 2020; CSC 3600; or permission of instructor
Offered: spring


CSC 3651 MALWARE ANALYSIS (3)
The course is an applied approach with hands-on labs throughout the book that challenge you to practice and synthesize your skills as you dissect actual malware samples, and pages of detailed dissections offer an over-the-shoulder look at how the pros do it. You will learn how to crack open malware to see how it works, determine what damage it has done, thoroughly clean your network, and ensure that the malware never comes back. Malware analysis is a cat-and-mouse game with constantly changing rules, so make sure you have the fundamentals.
Prerequisites: CSC 2010 or CSC 2020; CSC 3601; or permission of instructor
Offered: spring


CSC 3801 PENETRATION TESTING AND SYSTEM HARDENING (3)
The course will introduce the principles and techniques associated with the cybersecurity practice known as penetration testing or ethical hacking. The course covers planning, reconnaissance, scanning exploitation, post-exploitation, and result reporting. The student discovers how system vulnerabilities can be exploited and learn to avoid such problems.
Prerequisites: CSC 2010 or CSC 2020; CSC 3601; or permission of instructor
Offered: spring


CSC 3851 COMPUTER FORENSICS AND INCIDENT RESONSE (3)
This course presents an overview of the principles and practices of digital investigation. The objective of this class is to emphasize the fundamentals and importance of digital forensics. Students will learn different techniques and procedures that enable them to perform a digital investigation. This course focuses mainly on the analysis of physical storage media and volume analysis.
Prerequisites: CSC 2010 or CSC 2020; CSC 3601; or permission of instructor
Offered: spring


CSC 3901 CYBERSECURITY POLICY AND COMPLIANCE (3)
This course will focus on cybersecurity policy and compliance in the world of network systems and technology that encompass laws, ethics, privacy, and governance issues. Students will be exposed to policies in various areas of IT that are internationally recognized while understanding the importance of security policy as the beginning of any security program in organizations. The theory and principles behind the topics mentioned are explored in-depth where policy documents are critiqued, and compliance issues and frameworks are discussed. Students will analyze real-world cybersecurity policies and practice writing policies where compliance is required as standard industry procedure.
Prerequisites: CSC 2010 or CSC 2020; CSC 3601; or permission of instructor
Offered: spring


CSC 4100 OPERATING SYSTEMS (3)
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
Offered: as needed


CSC 4111 COMPUTER SECURITY AND NETWORK VIRTULIZATION (3)
A systematic study of the organization and management of a computer network system.
Prerequisite: permission of instructor
Offered: as needed


CSC 4120 THEORY OF COMPUTABILITY (3)
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 with MAT 4120
Offered: as needed


CSC 4130 WIRELESS AND MOBILE NETWORKS (3)
The rapid growth of mobile phone use, satellite services, and the 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.
Prerequisite: CSC 4111 or permission of the instructor
Offered: as needed


CSC 4150 COMPUTER ARCHITECTURE (3)
Central processors, control unit and microprogramming, memory management, I/O and interrupts, combinational circuits, and error detection.
Prerequisites: CSC 2200
Offered: fall


CSC 4200 DATABASE MANAGEMENT (3)
Data models, normalization, query facilities, file organization, index organization, security, integrity, and reliability.
Prerequisites: CSC 3050, 3100, or permission of instructor
Offered: as needed


CSC 4400 HUMAN COMPUTER INTERFACE DESIGN AND DEVELOPMENT (3)
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
Offered: as needed


CSC 4500 GAME PROGRAMMING (3)
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
Offered: as needed


CSC 4600 WINDOWS AND LINUX SECURITY (3)
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.
Prerequisites: CSC 3100 or permission of the instructor
Offered: as needed


CSC 4900 SENIOR PROJECT (3)
The 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.
Offered: as needed