Computer Science

CSC 110: Personal Computer Systems Repair*
1 Credit
Designed for majors and non-Computer Science majors. Basic technical skills related to the function and operation of major elements of personal computer systems, and methods to localize and correct common hardware and software problems. Hands-on experience with Personal Computer (PC) systems, with special emphasis on how systems are configured, modified, and expanded to meet new requirements.
Not open to CSC, MAT, or PHY majors
Offered: Spring (O)


CSC 121: Exploring Robotics
3 Credits
This course is an interdisciplinary introductory course in Robotics. This course emphasizes Robotics on mathematical foundations for computing, fundamentals of programming and basic concepts of artificial intelligence.


CSC 131: Introduction to Computers
3 Credits
This course develops fundamental computer skills for key application programs to increase personal and professional productivity. Skill areas covered include use of word processing, spreadsheet, presentation, database and Internet-related software. Key computer components, including the CPU, memory, hard drive and input and output devices, are covered to provide a foundation for decisions about software and hardware purchases, upgrades, maintenance and repair.
Not open to CSC, MAT, or PHY majors
Offered: Fall/Spring (A)


CSC 132: Foundations of Computing
3 Credits
This course provides an overview of the many disciplines within computer science, including data representation of text, numbers, audio, and images; computer hardware and software, including operating systems and programming languages; and data organization within databases. This course reviews critical concepts to better prepare CSC, MAT, and PHY majors as they continue their studies in programming and other areas of computer science.
Offered: Fall/Spring (A)


CSC 133: Programming I
3 Credits
An overview of hardware and software in computer systems. Techniques of problem analysis and algorithm development, program design, coding, testing, and debugging using high- level programming languages such as C++, or other contemporary programming languages are examined.
Prerequisite: CSC 132
Offered: Fall/Spring (A)


CSC 136: Programming II
3 Credits
Continuation of CSC 133. The course will offer advanced concepts of program design and implementation. Presents programming structure, data types, control structures, algorithm analysis, and provides an introduction to object-oriented programming.
Prerequisite: CSC 133
Offered: Fall/Spring (A)


CSC 233: Data Communications and Computer Networks
3 Credits
This course explores the principles and techniques of data communications and gives special emphasis to networks and distributed systems. The ISO Reference Model for open systems interconnection will be investigated and the function and operation of each protocol layer will be analyzed in detail.
Prerequisite: CSC 136
Offered: Spring (A)


CSC 236: Introduction to Digital Computer Design
3 Credits
This course presents the logic design of functional digital units; design of computer subsystems: register transfer, bus structure, timing and control; and design of processor memory, arithmetic, and I/O units.
Prerequisite:CSC132
Offered: Fall (O)


CSC 237: Introduction to Computer Systems and Assembly Language*
3 Credits
Study of the internal organization of the Computer and its Assembler Language. Students are required to write several programs and achieve successful computer execution.
Prerequisite: CSC 136
Offered: Spring (O)


CSC 239: Visual Programming
3 Credits
Presents the object-oriented methods and design concepts, languages and systems for object- oriented development, object-oriented programming environments, and application of object-oriented techniques. Students learn to formulate object solutions to practical problems through use of one of the object-oriented programming languages such as JAVA, Visual Basic, Visual C++, and future Visual Languages.
Prerequisite: CSC 136
Offered: Fall (E)


CSC 332: Data Structures and Algorithms
3 Credits
Concentrates on the way data can be organized and addressed. Data structures such as lists, linked lists, records, stacks, queues, trees, and graphs are explained in terms of their basic structures and in the way they can be used in practical programming problems.
Prerequisites: CSC 136
Offered: Fall/S (A)


CSC 333: Computer Graphics
3 Credits
Introduction to concepts in computer graphics, techniques in two and three-dimensional graphics, and advanced techniques such as shading, animation, and polygon filling.
Prerequisites: CSC 332
Offered: F (O)


CSC 334: Information Systems and Design
3 Credits
Presentation of file organization, data base systems, and the Information Systems development cycle. Thus, users and designers of systems must understand how data are stored and retrieved; writing programs for special problems in different fields of study, and group or individual case studies.
Prerequisite: CSC 136
Offered: Spring (A)


CSC 336: Software Engineering and Project Management
3 Credits
This course provides: an overview of software engineering, from the specification phase to the maintenance phase; an overview of configuration management, from configuration identification to criteria for selecting configuration items; an overview of software quality assurance, from the quality system to software system procedures; and an overview of project management, from project initiation and identification to post project evaluation and audit.
Prerequisites: CSC 136 and CSC 334
Offered: Fall (A)


CSC 339: Database Management Systems I
3 Credits
A study of database and management systems that include data models like relational, hierarchical and network; and their organizational theory in database design, data languages, integrity and security of database.
Prerequisite: CSC 332
Offered: Fall (A)


CSC 340: Database Management Systems II*
3 Credits
Continuation of CSC 339, with a focus on SQL programming language.
Prerequisite: CSC 339


CSC 420: Digital Forensics
3 credits
This course presents an overview of the principles and practices of digital investigation. The fundamentals and importance of digital forensics will be emphasized. Students will learn different techniques and procedures that enable them to perform a digital investigation, including data acquisition, computer forensic analysis, e-mail investigations, image file recovery of FAT, NTFS, EXT3, and HFS/HFS+.
Prerequisite: grade of ā€œCā€ or better in CSC 332
Offered: Spring (E)


CSC 421: Fundamentals of Cybersecurity
3 credits
This course covers the fundamentals of cybersecurity. It introduces many different areas of security such as cryptography, malicious code, authentication and access control, trusted computer systems, operating systems and network security.
Prerequisite grade of ā€œCā€ or better in CSC 236
Offered: Spring (E)


CSC 431: Computer Organization and Architecture
3 Credits
A study of organization of computers, including logic design, processors, control unit and micro- programming
Prerequisites: CSC 136 and CSC 332
Offered: Spring (A)


CSC 433: Operating Systems I
3 Credits
Functions and implementation of operating systems such as linking and loading; resource allocations; virtual memory; scheduling; multi- tasking and synchronization, etc.
Prerequisite: CSC 332
Offered: Spring (A)


CSC 434: Operating Systems II*
3 Credits
Continuation of CSC 433, with emphasis on UNIX operating systems.
Prerequisite: CSC 433


CSC 435: Survey of Programming Languages
3 Credits
The comparing of various programming languages in order to determine what characteristics they share, including writing different problems in different languages. Also, determining which languages are best for a particular problem using available computer system and macro computers.
Prerequisites: CSC 136 and CSC332
Offered: Fall (O)


CSC 439: Senior Project
3 Credits
Individual study, programming, and presentation of special topics in computer science.
Prerequisite: Senior status
Offered: Spring (A)