

CSC-Computer Science
CSC101 - Personal Productivity Software
This course provides a structured laboratory experience designed to develop and enhance a student's proficiency in using selected Windows microcomputer application software packages. (3 crs.)
CSC102 - Intro to Windows
This course provides a structured laboratory experience designed to develop and enhance a student's proficiency in using selected Windows microcomputer application software packages. (1 cr.)
CSC105 - Basic Prog Lang
This course will provide the student with the knowledge to write well-structured modular programs in BASIC on a personal computer. The course assumes no prior knowledge of computers or programming. Prerequisite: High school algebra or equivalent. (3 crs.)
CSC120 - Prob Solv/Prg Const
This course will provide the student with a basic literacy of computers; present problem-solving heuristics and structured programming techniques; present language independent data types, operations, programming constructs and statements; introduce arrays and linked lists; and implement fundamental programs using an appropriate programming language. Prerequisite: High school algebra or equivalent. (3 crs.)
CSC124 - Comp Programming I
This course builds on CSC 120. It gives the student a thorough understanding of the presently adopted language so that the student will develop the ability to program in the language. Emphasis is placed on efficient software development using structured programming techniques. Students are required to write, test and run programs. Prerequisite: CSC 120 with C- or better. (3 crs.)
CSC150 - Intro to Database Mgmt
This course is an introductory study of database application software as it is used on a microcomputer. The more commonly used operations of a selected database applications software package will be presented. Introductory database design techniques, queries, forms and reports will be presented. Laboratory assignments and projects will be used to combine database theory and database software to solve information management problems. Prerequisite: Windows experience. (3 crs.)
CSC199 - Field Exp Comp Sci
This course is designed for the associate degree student majoring in computer science. This course will enable students to apply their knowledge of computers to the real world of computer technology. The field experience will provide the student with an opportunity to see and work with the many aspects of computers in the workplace and should enhance the student's job opportunities. Prerequisite: Students should have completed 32 credits with a good GPA plus sufficient background to meet the needs of the field experience in which they will be participating. (Variable crs.)
CSC201 - Internet Concepts
This hands-on course will help students develop proficiency using systems running WindowsXP, will introduce students to all facets of the Internet, and will develop students' proficiency in Web-page design and publishing. Students will learn HTML (the language of the World Wide Web). Students will utilize various techniques to produce a personal Web page and may work in groups to produce a small website. Prerequisite: Windows experience. (3 crs.)
CSC216 - Log & Switch Theory
This course provides the student with an in-depth study of the basis of digital computers. Number systems, arithmetic operations, codes, Boolean algebra, Boolean minimization techniques, state transition tables and state transition graphs are discussed. Extensive emphasis is placed on the analysis and synthesis of synchronous and asynchronous combinational networks which form digital computers. Prerequisite: MAT 195 with C- or better. (3 crs.)
CSC265 - Object Oriented Programming
This course introduces the student to object-oriented programming. Object-orientated programming offers a natural method for designing software systems that builds on the concepts of data abstraction, information hiding and modularity. Prerequisites: CSC 124 with C- or better. (3 crs.)
CSC302 - Visual Programming
This course teaches Windows applications programming using the object-oriented event-driven programming paradigm, with the programming language VisualBasic.NET. It is designed as a beginning OOED programming course, but assumes students know Windows object vocabulary, have basic Windows file management skills, and are familiar with the generic procedural programming language constructs of looping, selection, and sequential processing. Pre-requisites: CIS 220 with C-or better or CSC 265 with C- or better. (3 crs.)
CSC304 - Cobol
This course introduces students to the essential elements of the COBOL language using well-structured programming techniques. Students will write and execute report programs, control break programs, data validation programs, programs that implement tables and sequential update programs. Good analysis, design and structure will be emphasized. Prerequisite: CSC 124 with C- or better or CIS 220 with C- or better or CSC 306 with C- or better. (3 crs.)
CSC306 - Fortran
The FORTRAN language will be studied. Most of the major programming constructs of FORTRAN will be covered, including assignment statements, loops, decisions, subprograms, arrays, character manipulation and file processing. Comparisons with other languages will be made, and documentation of programs will be emphasized. Prerequisite: CSC 120 with C- or better. (3 crs.)
CSC323 - Assembly Language Programming
In this course students will study assembly language. In doing so, students will develop some concepts related to the architecture and operations of the computer. Programs will be written and implemented using the instructions in this assembly language. Constructs such as selection, looping and subprograms will be implemented. Co-requisite: CSC 328 (3 crs.)
CSC328 - Data Structures
The design, use and programming of data structures, such as stacks, queues, linked lists and binary trees, will be discussed. Sorting and searching methods are also discussed in this course. The analysis of algorithms will be considered as well as the applications of the various data structures. Prerequisite: CSC 265 with C- or better. (3 crs.)
CSC360 - Analysis Algorithms
This course covers algorithm analysis theory and techniques. Students learn properties of both efficient and inefficient algorithms. The importance of analyzing algorithms before implementing them will be emphasized. This course will teach the skills necessary to determine the best algorithm for a given problem. We will investigate greedy, graph theoretic, divide and conquer, and distributed algorithms. We will cover both polynomial time algorithms and NP-completeness. Prerequisite: CSC 328 with C- or better. (3 crs.)
CSC378 - Computer Architect
This course provides the student with an in-depth study of the organization of the central processing unit, arithmetic logic unit, control unit, instruction formats and addressing schemes of digital computers. Extensive emphasis is placed on the translation of assembly language instructions into their microsequence operations within the control unit and the interconnection and control of registers, arithmetic logic units, memory units and busses which form the central processing unit and the digital computer. Prerequisite: CSC 323 with C- or better or CET / EET 270. (3 crs.)
CSC400 - Operating Systems
An operating system defines an abstraction of hardware behavior with which programmers can control the hardware. It also manages resource sharing among the computer's users. This course investigates these concepts as well as issues that influence the design of contemporary operating systems including management of processes, memory, devices, and files. Additional special topics may include scripting, security, fault tolerance, and real-time systems. Prerequisite: CSC 378 Computer Architecture with C- or better OR CET/EET 270 Intro to Microprocessor Design (3 crs.)
CSC419 - Internship
This course is designed for majors in the computing-disciplines who are seeking work experience in a related area. This intern experience will enable the student to apply her/his educational background in their field to a real work place. The internship will provide the student with the valuable experience that should enhance the student's job opportunities upon graduation. Prerequisite: Students should have completed 64 credits with a good QPA plus have sufficient background to meet the needs of the particular internship in which they will be participating. Variable credits (1-15) depending on the length of the internship and the number of hours devoted to the internship.
CSC420 - Artificial Intelligence
This course offers a selective survey of key concepts and applications of artificial intelligence and an introduction to a language commonly used for building AI systems. Prerequisite: CSC 328 with a C- or better. (3 crs.)
CSC424 - Numerical Analysis
In this course, various mathematical algorithms and applications relating to the numerical computation are investigated. Topics include: roundoff errors and computer arithmetic; numerical instability; error analysis and estimation; approximation; Gaussian elimination and pivoting strategies for linear systems; numerical integration and numerical solution of differential equations; curve fitting, polynomial approximation; and regression. Prerequisite: CSC 260, MAT 282, and MAT 341 (3 crs.)
CSC455 - Str of Program Lang
Students will study the four categories of programming languages: imperative, object-oriented, functional and logic. An in-depth discussion of the imperative languages will be followed by discussions of the other three paradigms. Students will be required to investigate at least one language. Prerequisite: CSC 328 with C- or better and a minimum of 6 additional credits in programming languages. (3 crs.)
CSC460 - Language Translation
This course studies the design and construction of compilers. Lexical analysis, syntactic analysis and code generation are investigated in detail. Language design, interpreters, semantic analysis, intermediate code generation and code optimization are also considered. Co-requisite: CSC 475 with C- or better. (3 crs.)
CSC475 - Theory of Languages
This course is an introduction to abstract machine theory, combinatorial systems, computable functions and formal linguistics. Topics include finite-state machines, regular sets, Turing machines, Chomsky hierarchy grammars and languages. Emphasis is on surveying basic topics and developing an intuitive understanding in the theory of languages. Prerequisite: CSC 216 with C- or better and CSC 328 with C- or better. (3 crs.)
CSC485 - Sp Top Computer Sci
This course allows current topics in computer science to be offered in a timely fashion. Topics are not covered in other courses and will not be regularly offered as a special topic. The course topic depends on current trends in computer science and the interests of the students and the instructor. This course may be repeated if a different topic is offered. Prerequisite: Permission of instructor. (3 crs.)
CSC490 - Senior Project I: Software Eng
This course introduces students to software engineering. They will study its history, terminology, requirements, specifications and design. The students will write requirements, specifications and design documents and one or more papers on software engineering topics. Prerequisite: CSC 265 with C- or better and ENG 217 with C- or better. (3 crs.)
CSC492 - Senior Project II
This course is a continuation of the Senior Project I: Software Engineering course and the capstone course of the program. The project proposal developed and designed in the first Senior Project class will be implemented in this course. The student will produce a project users' manual and will demonstrate proficiency in the academic program through the development of the project and through a comprehensive outcomes examination. The course will also emphasize the student's knowledge of computer ethics. Prerequisite: CSC 490 or CET 490 Senior Project I: Software Engineering with C- or better. (3 crs.)