HOME | ACADEMICS | ADMISSION | SPIRITUAL LIFE | CALENDAR | LIBRARY | SPORTS | GIVING | EMPLOYMENT | WEB MAIL


Academics

About Christian
Liberal Arts


Academic Programs
and Majors


Academic
Records Office


Adult Degree
Programs


Catalog

Course Descriptions

Faculty List

Learning Resources

Off-Campus
Programs


Office of the
Academic Dean

Web Sites for
Departments

  




Computer Science Course Descriptions

CSCI 115 Perspectives on Computing (3, OD)
An overview of how computers process, transmit, and store information. Designed for the non-major and includes many applications and issues found in contemporary culture. For example, privacy issues related to databases maintained by insurance companies or protection of intellectual property in light of increasingly popular file sharing applications. There are no prerequisites. This does not count toward a major or minor in computer science.

CSCI 211 Programming I (3, F)
This course covers the fundamentals of object-oriented programming utilizing the Java programming language. This first programming course provides students with basic Java programming concepts, data types, operators, flow control statements, objects, classes, methods, arrays, strings, applications, applets, and graphics user interfaces.

CSCI 218 Programming II (3, S)
This course extends the concepts learned in Programming I. It covers some advanced features of Java including advanced graphical user interfaces, exceptions, threads, graphics, multimedia, input/output, and networking.
Prerequisite: CSCI 211

CSCI 214 Discrete Mathematics (3, S06, 08)
Topics include: sets, functions, relations (incl. Partial order), methods of propositional logic, introduction to predicate logic, counting, recurrence relations, asymptotic analysis, proof (incl. Induction), introduction to probability, and graphs.

CSCI 226 Computer Architecture (3, S06, 08)
Structure and internal organization of digital computers. Machine language and assembly language, representation of numbers, CPU organization, subroutines and linkage.
Prerequisite: CSCI 211 or equivalent proficiency

CSCI 236 Data Structures and Algorithms (3, F)
This course covers the fundamental data structures of computer science and accompanying algorithms. Linked Lists, Stacks, Queues, Binary Trees, Priority Queues, Heaps and other ADTs will be included. Classical sorting and searching algorithms will be learned and implemented.
Prerequisite: CSCI 218

CSCI 245 Software Engineering (3, 07, 09)
This course covers both a theoretical and a practical foundation in software engineering. In the theoretical part, it covers principles and methods of software engineering, including requirements, specification, design, implementation, testing, validation, operation, and maintenance. In the practical part, it covers the development of software products from an industry perspective, including generation of appropriate documents.
Prerequisite: CSCI 218.

CSCI 326 Operating Systems (3, F06, 08)
A study of computer architecture at the register level. Management of the processor, memory, peripheral devices, and information. Interrelationships of architecture and operating systems. Performance evaluation. Exposure to system manager responsibilities in UNIX and Windows. Prerequisite: CSCI 226 and CSCI 236 or permission

CSCI 328 Foundations of Computing (3, F05, 07)
This course covers the introduction to the classical and contemporary theory of computation including regular, context-free, and computable (recursive) languages with finite state machines, pushdown automata, and Turing machines. It also covers the historical reasons and the need that gave rise to many different programming languages and discusses the features of the most successful and more influential of them. The similarities and the differences among procedural, functional, object-oriented, logic as well as parallel programming languages will also be covered.

CSCI 331 Web Programming (3, F06, 08)
This course covers the new programming models that are used to support Web applications. It covers software design, interface design, the development side of Web applications. It helps the students learn how to build software that accepts information from users across the Web and returns data to the user, and understand how to interact with database engines to store and retrieve information. Specific topics that are included are HTML, XML, JSP (Java Server Page) and Java servlets.
Prerequisite: CSCI 218

CSCI 336 Programming III (3, S07, 09)
This course covers J2EE (Java Enterprise Edition). The topics will include how to develop n-tier applications, design various application architectures based on the J2EE platform, and enterprise technologies - JDBC, RMI, JNDI, EJB, JMS, and JINI.
Prerequisite: CSCI 236

CSCI 340 Databases (3, S06, 08)
Introduction to relational databases. Fundamentals of database design and query design. Database management topics include security, integrity, and concurrency techniques. Use of relational database software (including SQL) for application projects. Topics include decision-based and object-based databases. Exposure to database manager responsibilities.
Prerequisite: CSCI 218 or permission

CSCI 344 Enterprise Application Integration (3, F05, 07)
EAI overview, types of legacy systems, EAI and e-business, data-level EAI, application interface-level EAI, method-level EAI, user interface-level EAI, middleware models, RPCs, messaging (Microsoft MSMQ and IBM MQ Series), distributed objects, Java middleware, WML basics.
Prerequisite: CSCI 336 and CSCI 331

CSCI 420 Networking (3, S05, 07)
An introduction to the basics of data communication and networking. Topics include the OSI model, physical processes used for digital transmission, standardization, local area networks, the network protocols, and network applications. Exposure to network manager responsibilities in UNIX and Windows NT.
Prerequisite: CSCI 326 or permission

CSCI 428 IT Architectures (3, S08, 10)
The course focuses on the principles and priorities of enterprise systems design, emphasizing the new requirements brought by e-commerce and distributed integrated systems. It also discusses middleware technology alternatives, resiliency, performance and scalability, security, systems management, information access and accuracy.
Prerequisites: CSCI 336 and CSCI 331

CSCI 480 Senior Capstone: Computer Science Seminar (2, S)
For seniors, except by permission. Required of all computer science majors.

CSCI 490 Senior Project (3, F)
The senior project allows seniors to participate in a scholarly endeavor with faculty and other students or in a formally controlled internship. This project will include at least the following three components: (1) A review of one or more scholarly papers from primary literature of computer science; (2) The writing of a significant scientific paper or substantial document to give the student experience in writing for a scientific audience; (3) An oral presentation to students and/or faculty.

CSCI 391, -2; 491, -2 Independent Study (1, 2 or 3)

CSCI 496 Honors in Computer Science (3)

CSCI 295, -6; 395, -6; 495 Special Topics in Computer Science (1, 2 or 3, OD)
Previous topics include: wireless Java; Java message service; wavelets: neural networks; C#; and .NET (Dot NET).