Computer Science and Computer Information Systems
James D. Feher, Ph.D., Assistant Professor of Computer Science/
Computer Information Systems; Chair, Division of Computer Science/
Computer Information Systems;
Irina Neuman, Ph.D., Assistant Professor of Computer Science/
Computer Information Systems;
Kian Pokorny, Ph.D., Assistant Professor of Computer Science/
Computer Information Systems;
Fred W. Underwood, M.S., Assistant Professor of Computer Science/
Computer Information Systems;
The Division of Computer Science and Computer Information Systems provides students with an opportunity to obtain the knowledge of computing necessary to succeed in today’s increasingly technical world. The division’s curriculum educates students in the programming skills, as well as the theoretical and practical knowledge essential to success in the various fields of computing. Introductory courses in various topics of computer use are also offered for non-major students.
Students may obtain a Bachelor of Science degree with a major in Computer Science (CS) or Computer Information Systems (CIS). These two tracks focus on the scientific and business views of computing, respectively. Students in both tracks will develop the skills necessary to becoming quality programmers and will specialize their knowledge through supplementary courses and upper-division requirements. The division also offers a Bachelor of Science degree in Information Technology Management (ITM) which is found in section later in the catalog. The program is only available on the Radcliff and Louisville external campuses.
Computer Science majors will be provided with the systems programming and problem solving skills commonly expected in programming positions at major employers in the technical sector as well as with the necessary theoretical background required by most graduate schools. Majors in CS should expect employment as systems programmers in both the business and scientific lab environments.
Students in the CIS major will be prepared to obtain employment in the business sector through the study of business-related, applications-programming skills and formal coursework in database management, networking, and systems analysis. Supplementary course work ensures that these students obtain a thorough view of the modern business world and the role that computing technology plays within that world. CIS majors will be prepared for further education in a graduate program or for employment in one of many jobs such as Database Administration, Network Administration, or Applications Programming.
Students within both majors will experience a variety of programming environments including many microcomputer systems as well as multi-user environments. Students will be exposed to a number of modern, useful programming languages appropriate to their selected majors and will gain valuable experience with a wide-selection of computer hardware and resources. Both programs offer a variety of upper-division electives allowing the student to personalize the specialized knowledge they wish to obtain.
Majors in both CIS and CS must be completed with a minimum of a 2.25 cumulative grade-point average in courses required for the major. In addition, all courses taken as major requirements or for a minor must have a grade of C- or greater. No courses required for the major (including supplementary requirements) may be taken with the Pass/C-/D/Fail grading option.
The division also offers minors in both CIS and CS. Students who complete the required courses for the minor can expect to obtain usable programming skills and general computing knowledge. Please visit our
website for more information.
COMPUTER SCIENCE
For a minor in Computer Science, the student must complete the following 20 credit hours: CSI-130, CSI-230, CSI-300, CSI-330, CSI-345 and CSI-450.
COMPUTER SCIENCE MAJOR REQUIREMENTS 41 crs.
CSI 130 CSI 230 CSI 300 CSI 330 CSI 335 CSI 345 CSI 410 CSI 450 CSI 465 CSI 490 |
INTRODUCTION TO COMPUTING I
INTRODUCTION TO COMPUTING II
COMPUTER ORGANIZATION AND ARCHITECTURE
DATA STRUCTURES AND ALGORITHMS
ANALYSIS OF ALGORITHMS
THE STRUCTURE OF OPERATING SYSTEMS
SOFTWARE ENGINEERING
COMPUTER NETWORKING AND COMMUNICATIONS
COMPILER DESIGN
SENIOR SEMINAR IN COMPUTER INFORMATION SYSTEMS
|
(4) (4) (3) (3) (3) (3) (3) (3) (3) (3) |
| ADDITIONAL UPPER LEVEL CSI ELECTIVES FROM CSI 366,
CSI 369, CSI 415, CSI 420, CSI 430, CSI 440, CSI 435, CSI 470, CSI 380-399
|
(9)
|
Supplementary requirements 25 crs.
MTH 210 MTH 211 MTH 310 MTH 213 MTH 375 ENG 360 PHY 212 |
ANALYTIC GEOMETRY AND CALCULUS I
ANALYTIC GEOMETRY AND CALCULUS II
STATISTICS
VECTOR FUNCTIONS AND MATRICES
DISCRETE STRUCTURES
TECHNICAL WRITING
PHYSICS II
|
(4) (4) (4) (4) (3) (3) (4) |
Electives in major
CSI 366 CSI 369 CSI 415 CSI 420 CSI 430 CSI 435 CSI 440 CSI 470 |
NUMERICAL ANALYSIS
SOCIAL, LEGAL, AND ETHICAL ISSUES OF COMPUTING
DATABASE MANAGEMENT SYSTEMS
THEORY OF PROGRAMMING LANGUAGES
COMPUTER GRAPHICS AND USER INTERFACE DESIGN
FORMAL LANGUAGES AND AUTOMATA
ARTIFICIAL INTELLIGENCE
INTERNSHIP IN COMPUTING AND INFORMATION SYSTEMS
|
(3) (3) (3) (3) (3) (3) (3) (3-8) |
COMPUTER INFORMATION SYSTEMS:
For a minor in Computer Information Systems, a student must complete the following 23 credit hours: CSI 130, CSI 230, CSI 150, CSI 250, CSI 295, CSI 315, CSI 415.
COMPUTER INFORMATION SYSTEMS MAJOR REQUIREMENTS 44 crs.
|
CSI 130 CSI 150 CSI 230 CSI 250 CSI 295 CSI 300 CSI 315 CSI 330 CSI 345 CSI 415 CSI 450 CSI 490
|
INTRODUCTION TO COMPUTING I
COBOL PROGRAMMING I
INTRODUCTION TO COMPUTING II
COBOL PROGRAMMING II
SYSTEMS ANALYSIS
COMPUTER ORGANIZATION AND ARCHITECTURE
SYSTEMS DESIGN
DATA STRUCTURES AND ALGORITHMS
THE STRUCTURE OF OPERATING SYSTEMS
DATABASE MANAGEMENT SYSTEMS
COMPUTER NETWORKING AND COMMUNICATIONS
SENIOR SEMINAR IN CIS
|
(4) (3) (4) (3) (3) (3) (3) (3) (3) (3) (3) (3) |
|
ADDITIONAL UPPER LEVEL CSI ELECTIVES
FROM CSI 320, CSI 369, CSI 430, CSI 440, CSI 470 CSI 380-CSI 399
|
(6)
|
Supplementary requirements 27 crs.
|
ECO 211 ACC 261 ACC 262 BUS 303 or BUS 304 ENG 360 MGT 204 MTH 142 MTH 310
|
PRINCIPLES OF MICROECONOMICS
PRINCIPLES OF ACCOUNTING I
PRINCIPLES OF ACCOUNTING II
BUSINESS LAW I
BUSINESS LAW II
TECHNICAL WRITING
PRINCIPLES OF MANAGEMENT
FINITE MATHEMATICS
STATISTICS
|
(3) (4) (4) (3)
(3) (3) (3) (3) (4) |
Electives in major:
CSI 320 CSI 325 CSI 335 CSI 369 CSI 430 CSI 440 CSI 470 |
INFORMATION TECHNOLOGY MANAGEMENT
ELECTRONIC COMMERCE
ANALYSIS OF ALGORITHMS
SOCIAL, LEGAL, AND ETHICAL ISSUES OF COMPUTING
COMPUTER GRAPHICS AND USER INTERFACE DESIGN
ARTIFICIAL INTELLIGENCE
INTERNSHIP IN COMPUTER INFORMATION SYSTEMS
|
(3) (3) (3) (3) (3) (3) (3-8) |
The department suggests that majors consider the following courses when selecting courses to meet the McKendree University Core Curriculum Requirements.
Beliefs and Values – Requirement (a)
PHI 204 or PHI 345 |
LOGIC
PHILOSOPHY OF SCIENCE (W)
|
(4)
(3) |
Oral and Written Communication – Requirement (b)
SPC 220 or SPC 310 |
PUBLIC SPEAKING
BUSINESS AND PROFESSIONAL PRESENTATIONS
|
(3)
(3) |
Mathematical and Scientific
CSI 121 PHY 211 |
INTRODUCTION TO INFORMATION AND COMMUNICATION TECHNOLOGY
PHYSICS I
|
(3) (4) |
CSI 101 INTRODUCTION TO WORD PROCESSING (1)
The fundamentals of word processing will be presented. Different sections will be offered providing
students with the opportunity to learn word processing. As needed.
CSI 102 INTRODUCTION TO ELECTRONIC SPREADSHEETS (1)
The fundamentals of electronic spreadsheets will be presented. Different sections will be offered
providing students with the opportunity to learn the use of spreadsheets. As needed.
CSI 103 INTRODUCTION TO DESKTOP PUBLISHING (1)
The fundamentals of desktop publishing will be presented. Different sections will be offered providing students with the opportunity to learn desktop publishing techniques. As needed.
CSI 104 INTRODUCTION TO PRESENTATION GRAPHICS (1)
The fundamentals of presentation graphics will be presented. Different sections will be offered providing students with the opportunity to learn presentation graphic production with different software packages. As needed.
CSI 105 INTRODUCTION TO DATABASE MANAGEMENT (1)
The fundamentals of database systems will be presented. Different sections will be offered providing
students with the opportunity to learn a database software package. As needed.
CSI 106 INTRODUCTION TO OPERATING SYSTEMS (1)
The fundamentals of operating system use will be presented. Different sections will be offered providing students with the opportunity to learn the use of an operating system with different computer systems such as Windows 95, UNIX, and the Macintosh. As needed.
CSI 107 INTRODUCTION TO COMPUTER NETWORKS (1)
The fundamentals of accessing and using computer networks will be presented. Topics may include software and tools for electronic mail, file transfer, terminal access, web browsing, web page creation, and real-time computer communication. As needed.
CSI 108 INTRODUCTION TO STATISTICS SOFTWARE (1)
The fundamentals of using computer statistical software packages will be presented. Different sections will be offered providing students with the opportunity to learn different statistical packages such as Minitab, SAS, and SPSS. As needed.
CSI 109 SPECIAL TOPICS IN COMPUTER USE (1-3)
This course addresses topics related to the use of specific software packages and/or systems to explore issues related to a variety of academic disciplines. As needed.
CSI 120 COMPUTER CONCEPTS AND APPLICATIONS (3)
This course is intended to provide students with a general perspective on computers and their role and other technology related areas. The course provides an introduction to various common software packages (for example, word processors, spreadsheets and presentation graphics), a history of computers, basic hardware components, commonly used number systems, logic, and algorithmic development. The course includes a required 2 hour laboratory component. NOTE: If you intend to be a business, computer science or computer information systems, or science major, please check the description for CSI 121 below. Students cannot receive credit for both CSI120 and CSI 121. Each semester.
CSI 121 INTRODUCTION TO INFORMATION AND COMMUNICATION TECHNOLOGY (3)
This course is intended to provide students with a general perspective on computers and their role in other technology related areas. Topics covered include: an introduction to basic communications technologies and the Internet, basic hardware components, an introduction to information systems and software development, security, privacy and ethical issues, and emerging technologies. The required two hour laboratory will focus on in-depth coverage of Excel and Access, popular and useful software tools in business and science, as well as a short introduction to programming. NOTE: This course is strongly recommended to students who intend to have a business, computer science or computer information systems, or science major. Students cannot receive credit for both CSI121 and CSI120. Each semester.
CSI 130 INTRODUCTION TO COMPUTING I (4)
An introduction to the basic concepts of computing, programming and problem solving. Topics to be discussed include data types, basic machine organization, procedural abstraction, control structures and software design techniques. Primary emphasis is on programming in a high level language. This course includes a required 2 hour lab meeting each week. Each semester. Prerequisite: MTH 131 or MTH 210 (concurrently).
CSI 140 INTRODUCTION TO PROGRAMMING USING JAVA (4)
This course focuses on an intense introduction to the practice of programming. Topics discussed include problem solving strategies, algorithmic development, quality programming practices, and the implementation of algorithms using the Java programming language. Constructs of the Java language covered include but are not limited to loops, decision statements and classes. Prerequisite: CSI 212 and MTH 142. As needed.
CSI 150 COBOL PROGRAMMING I (3)
The rules for writing programs in the COBOL programming language are introduced. Students will learn a structured approach of program design and will write programs from coding charts that they prepare. Prerequisite: CSI 130. Annually, Fall.
CSI 220 INTRODUCTION TO PROGRAMMING LANGUAGE (3)
This course will introduce and explore the syntactic rules and essential concepts necessary for writing programs in a selected programming language. Specific languages will vary depending upon demand and perceived importance in the fields of computing. Prerequisite CSI 130. As needed.
CSI 230 INTRODUCTION TO COMPUTING II (4)
An introduction to software design techniques necessary for writing programs of moderate complexity. Topics to be discussed include introductory data structures, sorting, searching, and top-down design strategies. Primary emphasis is on programming in a high level programming language. This course includes a required 2 hour lab component. Prerequisite: CSI 130. Each semester.
CSI 240 INTRODUCTION TO COMPUTER SYSTEMS (4)
The course focuses on the operation and administration of the computer and its role in information systems. The course introduces topics common to all operating systems such as CPU scheduling, memory management, and virtual memory. This course covers an introduction to computer architecture and organization including memory organization, processor architecture and instruction sets. This course cannot be used for credit in CS or CIS. Prerequisite: CSI 250 or 230 or 140 or equivalent, and CSI 121. As needed.
CSI 250 COBOL PROGRAMMING II (3)
Advanced COBOL language concepts are studied such as file manipulations and sorting. Students write programs for business-related applications. Prerequisite: CSI 150. Annually, Spring.
CSI 260 EVENT DRIVEN PROGRAMMING (3)
This course is an introductory course in event-driven programming. It focuses on designing programs and systems that contain effective Graphical User Interfaces for computer users. Platforms for development will include the use of tools such as Visual Basic, web based html forms, or the Java Abstract Windowing Toolkit. Prerequisite: CSI 140. As needed.
CSI 280-289 SPECIAL TOPICS IN COMPUTING AND INFORMATION SYSTEMS (3)
As needed.
CSI 295 SYSTEMS ANALYSIS (W) (3)
The course presents the concepts, methodologies, and tools required for the successful analysis of information systems. It covers the first half of the systems development life cycle, from determining the systems requirements through selecting the best alternative design strategy. Prerequisite: CSI 250 or 230 or 140 or equivalent and ENG 360 (or concurrently). Annually, Spring.
CSI 299 PRACTICUM IN COMPUTING (1-3)
For students at the sophomore level or above who wish to arrange a practicum in a laboratory or appropriate business learning environment in computer science. Prerequisites: 15 hours of related coursework, grade point average consistent with departmental graduation requirements, and permission of the instructor. Note: No more than 9 credit hours combined total for this practicum, any internship, or any independent study may be counted toward the major.
CSI 300 COMPUTER ORGANIZATION AND ARCHITECTURE (3)
This course concentrates on the relationship between computing hardware and machine language instruction sets as well as introductory digital electronics. The course examines logic gates, machine language and assembly language. Students will also study digital electronics, computer circuit design with small and medium scale integrated circuits. Several computer systems and microprocessors are used as examples. Prerequisite: CSI 230. Annually, Fall.
CSI 315 SYSTEMS DESIGN (3)
This course continues the discussion of the systems development life cycle begun in CSI 295, and covers the concepts, methodologies, techniques and tools required for the effective development and implementation of information systems. Prerequisite: CSI 295. Annually, Fall.
CSI 320 INFORMATION TECHNOLOGY MANAGEMENT (3)
This course emphasizes special management considerations as they relate to data processing environments. Types of data processing organizations and options for their internal structure will be addressed. Internal functions and related aspects of data processing from planning through the life cycle of an automated facility are addressed. Prerequisite: CSI 295 and MGT 204. As needed.
CSI 325 ELECTRONIC COMMERCE (3)
This course offers a practical review of e-commerce and e-business issues. It covers the infrastructure, alternative business models, opportunities, challenges, and pitfalls. Both the relevant technologies and business issues will be discussed and amply exemplified. Prerequisite: CSI 120 or CSI 121 and MGT 204. As needed.
CSI 330 DATA STRUCTURES AND ALGORITHMS (3)
A study of common and useful data structures such as lists, stacks, queues, trees, graphs and variations of these structures along with the essential and necessary algorithms to manipulate these structures. Algorithms to be covered will include searching, and sorting techniques, data traversals, graph algorithms, numerical algorithms, string algorithms and hashing. Prerequisite: CSI 230 and MTH 142 or MTH 375. Annually, Fall.
CSI 335 ANALYSIS OF ALGORITHMS (3)
This course introduces the student to tools and techniques necessary in the analysis of algorithms. The course includes a systematic study of algorithms and their complexity with application to searching and sorting, pattern matching, geometric and graph algorithms, NP-complete and intractable problems. The student will study mathematical concepts including summations, recurrence relations, introductory number theory, binomial coefficients, and generating functions. Prerequisite: CSI 230 and MTH 375. Alternate years, Fall ’06.
CSI 345 THE STRUCTURE OF OPERATING SYSTEMS (3)
The hardware and software requirements for modern operating systems is studied. Topics include operating system services, file systems, CPU scheduling, deadlock, memory management, virtual memory, disk scheduling, and concurrent programming. Prerequisite: CSI 300 and CSI 330. Annually, Spring.
CSI 366 NUMERICAL ANALYSIS (3)
An introductory course in numerical methods, including computational techniques for locating roots of equations, interpolation, differentiation, integration, approximation, and systems of linear equations; to include detection, prediction and control of computational errors. Problem solving using mathematical software and the design of algorithms is stressed. Prerequisite MTH 212 and CSI 230; Same as Math 366. As needed.
CSI 369 SOCIAL, LEGAL AND ETHICAL ISSUES OF COMPUTING (W) (3)
This course addresses the ethical, legal and social issues which affect those involved in modern computing. specific topics will vary from semester to semester but general topics will include issues of privacy, security and crime as they relate to computing. Prerequisite: Minimum of 12 hours of completed units in CSI or permission of the instructor. Alternate Years, Fall ’06.
CSI 380-399 SPECIAL TOPICS IN COMPUTING AND INFORMATION SYSTEMS (3)
As needed.
CSI 410 SOFTWARE ENGINEERING (3)
This course provides students with an opportunity to work on large-scale, group programming projects. Topics will include tools for large-scale design, documentation techniques, programming paradigms (e.g. Object Oriented Programming) and portability issues. Prerequisites: Senior Status and CSI 330. Alternate years, Fall ’05.
CSI 415 DATABASE MANAGEMENT SYSTEMS (3)
Database concepts, design, languages, implementation and administration are addressed. Topics will include the hierarchical, network and relational models. Students will explore various operations including creation, retrieval and updates of data. Prerequisite: CSI 330. Annually, Fall.
CSI 420 THEORY OF PROGRAMMING LANGUAGES (3)
This course examines the organization of programming languages, with emphasis on design concepts such as language definition structures, semantics, procedural, functional, object-oriented and logic programming. The major features of several programming languages will also be discussed. Prerequisite: CSI 330. As needed.
CSI 425 Web Programming (3)
This course will investigate the use of programming tools that are useful in developing web-based applications. A portion of the course will examine client side scripting using tools such as JavaScript or Java applets. However, the focus will be on server side tools such as Java servlets, Perl cgi programs or php scripts. The student will study how to use these programs to interact with a database system. Standard encryption methods for web-based applications such as the use of SSL, the secure socket layer, will also be presented. Students will develop various projects that illustrate these points throughout the semester. Prerequisite: CSI 260, CSI 325, and CSI 415. As needed.
CSI 430 COMPUTER GRAPHICS AND USER INTERFACE DESIGN (3)
This course will introduce the student to programming techniques necessary for the production of programs which produce graphical images and/or use a graphical interface. Students will produce programs which use interactive graphics and will study the necessary theory which underlies modern graphical programming. Topics will include drawing algorithms, matrix manipulations, 2D and 3D rendering techniques, color models, user interface concepts, interactive graphics and animation techniques. Prerequisite: CSI 330. Alternate years, Spring ’07.
CSI 435 FORMAL LANGUAGES AND AUTOMATA (W) (3)
This course examines the fundamental limitations and properties of computation. Students will explore various models of computation including regular expressions, finite state machines, context-free grammars, push-down automata and Turing machines. Classes of languages including regular languages, context-free languages, recursive languages and RE languages will also be explored. Same as MTH 435. Prerequisite: CSI 330, MTH 375, ENG 360. As needed.
CSI 440 ARTIFICIAL INTELLIGENCE CSI 345. Annually, Fall. (3)
A study of the techniques and issues related to the study of Artificial Intelligence. Software design techniques and algorithms specific to AI will be covered including neural networks, decision trees, game trees, probabilistic algorithms, rule-based systems, and search strategies. Applications are examined in game playing, pattern recognition, robotics, machine perception, expert systems, natural language understanding and machine learning. Prerequisite: CSI 330. As needed.
CSI 450 COMPUTER NETWORKING AND COMMUNICATIONS (3)
This course concentrates on typical hardware interfaces, programming methods, and communication protocols. Topics considered in detail include electrical interfaces, data transmission, protocol basics, LAN’s, WAN’s, bridged networks, interworking, and application support. Prerequisite: CSI 345. Annually, Fall.
CSI 451 BUSINESS DATA COMMUNICATIONS (3)
This course presents a survey of fundamental data communications concepts from a business management perspective. Topics covered include networking, distributed applications, network management, security, and the use of the Internet, intranets, and extranets. Prerequisite: BUS 410 and CSI 121. As needed.
CSI 465 COMPILER DESIGN (3)
The analysis of source code, generation of object code, and the techniques of syntax analysis, symbol table construction, and error checking are considered. Students will work on a semester project to produce a high level language compiler. Prerequisite: CSI 330 and CSI 345. Alternate years, Spring,’06.
CSI 470 INTERNSHIP IN COMPUTING AND INFORMATION SCIENCE (3-8)
No more than three hours of this course may be applied towards the major.
CSI 480 INDEPENDENT STUDY IN COMPUTING AND INFORMATION SCIENCE (1-3)
No more than three hours of this course may be applied toward the major.
CSI 490 SENIOR SEMINAR IN COMPUTING AND INFORMATION SCIENCE (3)
Current topics in computing and information science are presented. Readings involve textbook references and computer science journals and periodicals. Each student is expected to make a researched formal presentation, lead a class discussion and carry out a term project. Prerequisites: Senior standing in computing and information science and instructor permission. Annually, Spring.