Course Descriptions

CSC 101 Introduction to Programming (3)
Object-centered design and algorithm development. Basic concepts in structured programming including primitive data types, use of predefined classes, flow of control structures, subprograms, arrays and files taught using a modern object-oriented language. Every semester. Prerequisites: none.

CSC 102 Object-Oriented Programming (3)
Introduction to object-oriented programming including classes, abstract data types, information hiding, inheritance, and templates. OOP concepts are demonstrated through building basic data structures (linked lists, stacks, queues) and fundamental algorithms using a modern object-oriented language. Spring semester. Prerequisite: CSC 101.

CSC 190 HTML (1)
This course focuses on effective use of HyperText Markup Language (HTML), Extended HyperText Markup Language (XHTML), and Cascaded Style Sheets (CSS) in webpage design and development. Offered as needed.

CSC 204 Data Structures and Algorithm Analysis (3)
An in-depth study of essential data structures and algorithms their implementation and analysis. Implementation of data structures in a modern object-oriented language is a significant component of this course. Spring semester. Prerequisite: CSC 102. Prerequisite or Corequisite: MAT 130.

CSC 205 GUI Design and Programming (3)
Graphical User Interface design and implementation in an event-driven programming language. Concepts include issues of user interface design, event processing, integration of a database system, exception handling, and simple screen graphics. Fall semester. Prerequisite: CSC 101.

CSC 206 Web Programming (3)
Design and implementation of Web pages and Web sites starting with the fundamentals of HTML and progressing through other languages and tools of increasing sophistication. Spring semester. Prerequisite: CSC 101 and fluency in HTML via CSC 190 or by exam.

CSC 230 Computer Architecture (3)
Hardware configuration and organization of computing systems; functional components, bus systems, memory systems, input/output facilities, operating system support, instruction set design, comparison of RISC and CISC systems, instruction pipelining, hardwired and microprogrammed control. Cross-listed as CPE 230. Fall semester. Prerequisite: CPE 220

CSC 306 Software Engineering (3)
Software process models, methodologies, tools and techniques to support the workflows of software development and maintenance. Other topics include testing, project management, team organization, reusability, portability, documentation, and planning. Large individual project. Cross-listed as CPE 306. Fall semester. Prerequisite: CSC 230 or CPE 230.

CSC 309 Software Engineering Project (3)
Large team project is implemented, adhering to software engineering principles learned in CSC 306. Intensive team activity is required. Spring semester. Prerequisite: CSC 306 or CPE 306.

CSC 333 Operating Systems (3)
Computer operating system; operating system issues related to process management, storage management, I/O systems, distributed systems, protection and security. Cross-listed as CPE 333. Fall semester. Prerequisite: CSC 230 or CPE 230.

CSC 364 E-Commerce (3)
Explore the Internet as a way to communicate and do business in the changing technological world around us. Topics include: evaluation of tools, hosting services, visual design, and website management issues related to Web presence. Requires research and hands-on development. Fall semester. Prerequisite: CSC 206. Pre or co-requisite: CSC 365.

CSC 365 Database Systems (3)
Introduction to the fundamental concepts necessary for designing, using, and implementing database systems. Topics include: entity-relationship models, relational data model, relational database schemas, SQL, and emerging database technologies such as data warehousing and data mining. Hands-on experience using current database system. Fall semester. Prerequisite: CSC 101. Recommend CSC 230.

CSC 401 Christian Ethics and Computer Science (1)
In-depth look at issues of ethics and professional practice related to the field of Computer Science and their integration with a Christian worldview. Course requires in-class presentations and a term paper. Fall semester. Prerequisites: BIB 112 and BIB 113.

CSC 407 Web Engineering (3)
A capstone course where topics from web programming, software engineering, e-commerce, database systems and computer security are merged with project management, change and content management and user-centered design to support the engineering of complex web sites. Spring semester. Pre-requisites: CSC 206, CSC 306, CSC 364, and CSC 365.

CSC 450 Networks (3)
An introduction to data and telecommunication networking. Topics include: analog and digital signals, network topologies, network protocols (TCP/IP), network operating systems, network hardware, frame types, the OSI model, LANs, WANs, the Internet, and ATM. Cross-listed as CPE 450. Spring semester. Prerequisite: CSC 230 or CPE 230.

CSC 452 Computer Security (3)
Introduction to security of computer systems and networks. Topics include network and host-based intrusion detection, firewalls, secure web filtering, spy ware detection and removal, security vulnerabilities such as configuration management and patching issues, secure support of authorized users such as ID and access management, public key infrastructures (PKI), virtual private networks (VPN) and regulatory compliance issues. Cross-listed as CPE 452. Spring semester. Prerequisite: CSC 450 or CPE 450.