Computer Science
| Key to Course Offerings |
| Q: |
designates courses in the Quantitative Scientific Cluster |
| I: |
the Ideas and Events Cluster |
| B: |
the Human Behavior Cluster |
| L: |
the Literature, Language and Arts Cluster |
| C: |
Multicultural |
| IDIS: |
Interdisciplinary courses Multicultural and interdisciplinary courses also fulfill a cluster designation. |
| * |
Asterisk indicates that the course may be offered less than once every two years. |
 |
Undergraduate Day School |
 |
Undergraduate Evening School |
| |
Courses having a more narrow focus than those taught on a regular basis of courses being taught on an experimental basis can be taught as Topics courses. These courses will be assigned numbers based on the student level for which they are intended-first, second, third or fourth year. |
All Computer Science Electives must be at or above CSC 3000 level.
Introduction to Programming
CSC 1000 3 cr. 3 hr. 
This course provides an opportunity to learn a higher-level language, to gain experience in the design, coding and utilization of computer programs and to develop simple applications using a graphical user interface. Q
Co-requisite: Passing the Math placement exam or Math 0200.
Computer Science Basics
CSC 1010 3 cr. 3 hr. 
Lectures and labs explore various topics in computer science. Some programming is introduced to motivate the topics, but programming is not the main focus of the course. Topics include data representation, digital circuits, basic computer organization and machine language, adding memory and peripheral cards to a PC, operating systems and networking, Web pages, programming languages and language theory, algorithms and efficiency, computability, the Church-tutoring thesis, and the halting problem. Q
Internet Communications
CSC 1050 3 cr. 3 hr. 
The Internet plays a crucial role in the information revolution. It is used increasingly for personal and business communications, for commerce and exchange of ideas and as a source of information and entertainment. This course introduces the student to various components of the Internet such as the Web, e-mail, discussion groups, ftp and telnet. Tools and techniques for efficient Web browsing will be taught. Security issues involved in using the Internet will be discussed. Students will design simple Web pages and publish them on the Internet.
Computer Applications
CSC 1100 3 cr. 3 hr. 
This is an introductory level study of the computer and application software techniques. This course introduces microcomputer concepts, common operating system functions, Internet, e-mail and an integrated package of application software, including word processing, spreadsheet, database and presentation development. The student learns how to construct and edit a document, spreadsheet, database and presentation using the proper tools. Q
Co-requisite: Passing the Math placement exam or Math 0200.
Basics of Web Design
CSC 1150 3 cr. 3 hr. 
This course is about creating Web pages using the latest version of HTML. The course covers the basics of HTML code. Students will learn to work directly with HTML tags to create forms, frames and cascading sheets and to embed music and other multimedia.
Prerequisite: CSC 1050 or permission from department.
Introduction to Spreadsheets and Databases
CSC 1300 3 cr. 3 hr. 
This course introduces the student to spreadsheets and databases. The student becomes proficient in the use of spreadsheets and databases as well as in the use of built-in functions for business, family and others. Q
Co-requisite: Passing the Math placement exam or Math 0200.
Computer Information Systems
CSC 1400 3 cr. 3 hr. 
This course is an introduction to concepts in computer information systems. Students learn how information technology is used in business. Topics covered include use of information systems in business, basics of hardware, software, networks and data management, use of productivity software, security and ethical use of information systems, business decision systems, and developing and managing information systems. A working knowledge of word processing, spreadsheet and presentation software is required. Q
Co-requisite: Passing the Math placement exam or Math 0200, and CSC 1100 or BSAD 1700 or equivalent knowledge.
Computer Science I
CSC 1500 3 cr. 3 hr. 
This course introduces Computer Science by using a high-level programming language. Students will be taught to design programs and implement them using object-oriented programming techniques. This course provides a solid background for further studies in Computer Science by preparing students to enroll in the more specialized high-level software courses. Q
Prerequisite: Passing the Math placement exam or Math 0200.
Computer Science II
CSC 1550 3 cr. 3 hr. 
This course builds on the concepts covered in Computer Science I. Topics covered include inheritance, polymorphism, recursion, advanced GUI programming, exception handling and input/output handling. Students use integrated development environment to create, compile, run and debug programs. Q
Prerequisite: CSC 1500.
Introduction to Electronics
CSC 1600 4 cr. 5 hr. 
This course provides an introduction to analog circuits and modern solid-state devices, including diode rectifiers, power supply design, OP amps and oscillator circuits. Extensive laboratory work illustrates the operation and behavior of circuits, as well as the use of modern laboratory test equipment. Topics covered in the class include basic circuit analysis, semiconductor principles, diodes, power supply design, bipolar and FET transistor applications, OP AMP circuits and applications, oscillators and linear integrated circuits. Students registering for this course must also register for the accompanying lab course.
Prerequisite: Math 1300.
Digital Electronics
CSC 1650 4 cr. 5 hr. 
This course provides a study of the design and application of both asynchronous and synchronous electronic logic circuits. Counters, registers, serial and parallel adders, and arithmetic units are included. Topics covered are Boolean algebraic simplifications; Karnaugh maps; Quine McCluskey method; combinational logic circuits; sequential logic circuits; comparison of TTL, MOS, and ECL logic families; the arithmetic unit; coding and decoding; parity detection and generators; multiplexers and programmable logic devices. Extensive laboratory work supplements the topics studied. Students registering for this course must also register for the accompanying lab course.
Prerequisite: CSC 1600.
Discrete Mathematics
CSC 1900 3 cr. 3 hr. 
This course introduces discrete mathematics as applied to computer science. Topics covered include Boolean logic, elementary set theory, functions, relations, enumeration, proof techniques number systems and trees. Q (Credit is not given for both CSC 1900 and MATH 1900.)
Prerequisite: Math 1250 or Math 1300 or equivalent knowledge.
Advanced Web Design with Scripting
CSC 2150 3 cr. 3 hr. 
Scripting is used to add programming capabilities to HTML code and to create dynamic and more interactive Web pages. Students will learn JavaScript as a scripting tool for creating Web pages. Operators, statements, functions, event handling and objects of this language will be studied. Students will learn the document, form and window objects in detail.
Prerequisite: CSC 1150 or equivalent knowledge.
Database Systems
CSC 2400 3 cr. 3 hr. 
This course is about design and implementation of database systems. Evolution of various database models, including hierarchical, relational and object-oriented models, and the advantages of different models are studied. Use of Structured Query Language (SQL) in relational databases is explained and applied. Students design databases applying E-R modeling and normalization techniques.
Prerequisites: CSC 1550, and CSC 1900 or MATH 1900.
Systems Programming
CSC 2560 3 cr. 3 hr. 
This course provides the student with the fundamentals of structured programming at the systems level. UNIX is used as a base for this course. Students obtain a thorough knowledge of the C language, comfort in using the UNIX operating system and an appreciation for a systems approach to low-level programming tasks. Q
Prerequisites: CSC 1550 and CSC 1900 or MATH 1900.
Computer Organization
CSC 2600 4 cr. 5 hr. 
The purpose of this course is to provide a thorough discussion of the fundamentals of computer organization and architecture and to relate these to contemporary computer design issues. After a brief review of the basic digital components used, the steps that a designer would go through in the design of an elementary systems are covered followed by a discussion of the organization and design of the central processing unit (CPU) and various control system implementations. The input/output and memory subsystems are included as is a brief discussion of multiprocessing systems, pipelining and virtual memory. Students registering for this course must also register for the accompanying lab course.
Prerequisite: CSC 1650.
Business Programming
CSC 2700 3 cr. 3 hr. 
This course provides students with experience in the design and coding of programs using a business oriented language. Topics covered include structured programming techniques; data, record and file design; sorting and merging of files; table handling; variable-length records; and indexed sequential access methods. File creation, updating and reporting are given special attention.
Prerequisite: CSC 1550
Web Programming with Java
CSC 3050 3 cr. 3 hr. 
There are three aspects to Web Programming: Front-end GUI programming, back-end Web or database server programming and the network programming to connect the two. In this course, students learn to use Java classes for creating applets, for server programming and for interfacing with a database. The course also reviews advanced concepts of object oriented programming, Java's exception handling and multithreading.
Prerequisite: CSC 2560.
Operating Systems
CSC 3100 3 cr. 3 hr. 
This course examines the internal structure and operation of operating systems with an emphasis on their design criteria and approaches. Topics covered include process management, scheduling, deadlock, memory management, virtual memory, protection and security and distributed systems. A working knowledge of a higher-level system programming language and computer data structures is assumed.
Prerequisites: CSC 2560 and CSC 2600.
Programming Languages
CSC 3200 3 cr. 3 hr. 
This course studies the hierarchy of programming languages starting with Assembly Language. It covers general principles of languages within imperative, object oriented and functional paradigms, as well as logic programming. Students have an opportunity to learn the basic concepts and constructs of various programming frameworks and practice software design skills in languages like Ada, Lisp and/or Prolog.
Prerequisite: CSC 2560
Advanced Topics in Web Development
CSC 3250 3 cr. 3 hr. 
State of the art tools and technologies used in developing and deploying Web pages will be studied. Server-side programming for database access will be studied. Students will create model applications used in e-commerce.
Prerequisite: CSC 2150.
Assembly Language
CSC 3300 3 cr. 3 hr. 
Assembly language provides the means for programming a computer at the most basic machine level. In this course, we explore the fundamental operations of a modern computer system using software tools. Topics examined include numerical and character representations, microprocessor register usage, machine instructions, addressing modes, input/output processing, parameter passing, interrupt processing and simple data structure realizations on the Intel 80x86 processor. Q
Prerequisite: CSC 1550 or permission from the department.
Small-Scale Embedded Systems Development
CSC 3350 3 cr. 3 hr.
Small-scale embedded systems are everywhere. Students will learn about how to develop functional devices using microcontrollers and become familiar with microcontroller architecture and the various function-specific hardware modules such as timer/counters, analog-to-digital converters, pulse-width modulators, liquid-crystal displays and keypads. Hands-on projects will require the writing of device drivers and the development of a useful embedded system.
Pre-requisites: CSC 1650 and CSC 2650
Data Communications & Networking
CSC 3400 3 cr. 3 hr. 
Data communications is a subset of telecommunications involving the transmission of data to and from computers and components of computer systems. It is concerned with the transmission of data through some medium, such as wire or fiber optic cable, and includes coverage of the telephone system, local area networks and wide area networks. Concepts of concern are error control, data codes, signal representation and modulation techniques, protocols, reliability and security. This course deals with both the hardware and software aspects of successful communication.
Prerequisite: CSC 2560.
Local Area Networks
CSC 3450 3 cr. 3 hr. 
This course examines local area network (LAN) technology and architecture both through general concepts and practical hands-on experience. All networking fundamentals are presented based on the modular approach of the ISO standards. Topics covered include file servers, configurations and protocols, installation and management of server hardware and software, system monitoring, maintenance and troubleshooting. Due to its importance, the TCP/IP protocol will be stressed.
Prerequisite: CSC 2560
Object Oriented Programming
CSC 3500 3 cr. 3 hr. 
This course covers the fundamental principles of Object Oriented Paradigm. It studies the concepts of procedural and data abstraction, classes, inheritance, polymorphism, virtual functions, templates, exception handling and file manipulations. Students learn the main tools of a popular language supporting the object-oriented framework and various techniques of object-oriented design.
Prerequisite: CSC 2560.
Windows Programming with MFC
CSC 3550 3 cr. 3 hr. 
This course is about developing Win32 applications using Microsoft Foundations Classes and Windows API. Topics include menus, controls, dialog boxes, property sheets and document/view architecture.
Prerequisites: CSC 3500.
Microprocessors
CSC 3600 4 cr. 5 hr. 
The course provides a detailed study of the microprocessor and its applications. Emphasis is placed on a current microprocessor, its hardware and software and its associated family of integrated circuits. Students design a microprocessor system, configuring the random access memory, the read-only memory and peripheral devices using peripheral interface adapters. Students reinforce theory with extensive laboratory work. Students registering for this course must also register for the accompanying lab course.
Prerequisite: CSC 2600.
Algorithms and Data Structures
CSC 3700 3 cr. 3 hr. 
This course provides an introduction to modern study of computer algorithms and complex data structures. It explores the logic of algorithmic analysis and design as well as practical utility and implementation techniques. The basic ideas from Complexity Theory will help students understand the concept of efficiency of algorithms and its role in the design of algorithms. The analysis of data structures is focused on the concepts of linked list, queues, stacks and trees. Various programming techniques such as divide and conquer, dynamic programming and backtracking are presented.
Prerequisite: CSC 2560.
Systems Analysis Methods
CSC 3710 3 cr. 3 hr. 
As an overview of the system development life cycle, this course introduces the student to the fundamental concepts and techniques of systems analysis. Classical and structured methods of systems documentation are explored as well as information gathering and reporting activities.
Prerequisites: CSC 3450.
Compiler Construction
CSC 4200 3 cr. 3 hr. 
The course studies the techniques involved in the analysis of source language code and the generation of efficient object code. The focus is more on the front end of the compiler (analyzer) than it is on the back end (generator). By working in small project teams, students modify an existing compiler. Topics covered in the class include language definition; lexical, syntactic, and semantic analysis; and code generation.
Prerequisite: CSC 2600.
Computer and Network Security
CSC 4350 3 cr. 3 hr. 
Lectures provide an introduction to the many aspects of computer and data network security. It covers fundamentals of number theory, authentication and encryption technologies, as well as some of the well-known security related topics. Various different computer and network security mechanisms and their weaknesses will be discussed.
Prerequisites: CSC 1550 or equivalent programming skill and CSC 3450.
Software Engineering
CSC 4400 3 cr. 3 hr. 
This course examines main features of software life cycle. It covers the main issues in design creation, principles of programs verification, system testing and evaluation criteria. This course provides students with an opportunity to obtain practical experience in software design using CASE tools. Students work in project teams and apply principles of software design, verification, testing and coding toward the solutions of assigned problems.
Prerequisite: CSC 2560.
Database Programming
CSC 4550 3 cr. 3 hr. 
Many businesses, small and large, utilize user-interfaces to access databases to provide security as well as multiple user access to the databases. This course will introduce the student to software components designed for database programming in a higher-level language. Each student works on a project of applied nature that involves documenting the requirements of a database, creating the database and designing the user-interface to access the database. Working knowledge of the host language is required.
Prerequisites: CSC 2400 and permission from the Instructor.
Digital Signal Processing
CSC 4600 3 cr. 3 hr. 
DSP has found its way into a number of applications, including communications and controls, graphics, and speech and image processing. DSP is concerned with real time signal processing where timing is of the utmost importance. This course will help students understand time and frequency domain descriptions of signals and systems. Linear time invariant systems, convolution, difference equations, and various mathematical transforms. Fourier, Fast Fourier and z-transform are introduced to describe and design both recursive and non-recursive digital filters. DSP processor fundamentals, architectures and special features will be introduced using a particular processor in a lab environment.
Prerequisite: CSC 2600 and MATH 2400.
Systems Design & Implementation
CSC 4700 3 cr. 3 hr. 
This capstone course will emphasize the design and implementation phases of the system development life cycle using case studies. A problem solving approach will be used for students to learn strategy and techniques for dealing with complexities in information systems development.
Prerequisite: CSC 3710
Independent Study
CSC 4901, 4902, 4903 1, 2, 3 cr.  
The independent study provides an opportunity for highly motivated students to explore advanced areas of computer science not provided within the departmental curriculum. Approval of the faculty sponsor, consent of the advisor and permission of the chairperson are required.
Prerequisite: completion of all the required 2000 level core courses with a Grade Point Average of 3.0 or more in those courses.
Internship
CSC 4940, 4950 3, 6 cr. 
A 3-credit on- or off-campus internship requires 12 hours of work each week for 15 weeks. Students apply their knowledge and skills to develop practical solutions to computer science or computer information systems problems. Approval by department chairperson is needed to register for this course. A written report on the work done in the format specified by departmental policy must be submitted to the chairperson to receive a grade.
Prerequisite: completion of all the required 2000 level core courses with a Grade Point Average of 3.0 or more in those courses.
Directed Study
CSC 4975 1-6 cr. 
A course in the departmental curriculum may be offered as directed study subject to the college policies and departmental policies. Approval of the faculty sponsor, consent of the advisor and permission of the chairperson are required.
Prerequisite: completion of all the required 2000 level core courses
with a Grade Point Average of 3.0 or more in those courses
|