Computer Science
2005 - 2006 College of the Ozarks Catalog

Bachelor of Arts, Bachelor of Science

The objectives of the Computer Science and Computer Information Science majors are to help students: 1) acquire the general knowledge required to enter the scientific/business computing and computer related professions; 2) obtain the background required for graduate study in Computer Science/Computer Information Science; 3) understand computer solutions to scientific/business problems; 4) understand the ethical and societal issues that affect the computing field; 5) develop the computational and analytical skills required by the scientific/business computer industry.

Students must have a minimum GPA of 2.5 in upper division Computer Science courses to graduate with a major in Computer Science or Computer Information Science.

Cross majors/minors between Computer Science and Computer Information Science are not permitted.

Major in Computer Science
Required major courses: 33 hours  
CSC 133 Programming Fundamentals I (F/S) 3
CSC 233 Programming Fundamentals II (F/S) 3
CSC 243 Computer Architecture/Assembler (S) 3
CSC 303 Data Structures (F) 3
CSC 343 Database Systems (S) 3
CSC 413 Operating Systems (F) 3
CSC 433 Programming Language Theory & Artificial Intelligence (S-O) 3
CSC 443* Software Engineering WI (F) 3
CSC 453 Data Communications and Networks (S-E) 3
CSC 463* Senior Project/Capstone WI (S) 3
CSC Elective 3
(* CSC 443 and CSC 463 must be taken in consecutive semesters.)  
Required collateral courses: 21 hours  
MAT 175 Calculus I (S) 5
MAT 205 Calculus II (F) 5
PHY 225 General Physics I (F) 5
ONE OF THE FOLLOWING 3
   MAT 303 Number Theory  
   MAT 333 Linear Algebra (F)  
   MAT 343 Probability and Statistics (F-E)  
   MAT 353 Numerical Analysis (S-E)  
ONE OF THE FOLLOWING 3
   BED 303 Business Communications  
   SPC 313 Business and Professional Speaking (F)  
   ENG 333 Technical Writing (F/S)  
General Education course specified by the major  
MAT 135 Discrete Mathematics and Trigonometry (F/S) 5

Major in Computer Information Science
Required major courses: 30 hours  
CSC 133 Programming Fundamentals I (F/S) 3
CSC 233 Programming Fundamentals II (F/S) 3
CSC 213 COBOL (S) 3
CSC 303 Data Structures (F) 3
CSC 343 Database Systems (S) 3
CSC 413 Operating Systems (F) 3
CSC 423 E-Commerce Systems (F) 3
CSC 443* Software Engineering WI (F) 3
CSC 463* Senior Project/Capstone WI (S) 3
CSC Elective 3
(* CSC 443 and CSC 463 must be taken in consecutive semesters.)  
Required collateral courses: 18 hours  
ACT 203 Elementary Accounting I (F/S) 3
ACT 213 Elementary Accounting II (F/S) 3
BUS 213 Principles of Management (F/S) 3
BUS 233 Business Statistics (F/S) 3
BUS 313 Business Law I (F/S) 3
ONE OF THE FOLLOWING 3
   BED 303 Business Communications  
   SPC 313 Business and Professional Speaking (F)  
   ENG 333 Technical Writing (F/S)  
General Education courses specified by the Major  
MAT 135 Discrete Mathematics and Trigonometry (F/S) 5
ECN 203 Principles of Economics I (F/S) 3

Minor in Computer Science
Required minor courses: 21 hours  
CSC 133 Programming Fundamentals I (F/S) 3
CSC 233 Programming Fundamentals II (F/S) 3
CSC 243 Computer Architecture/Assembler (S) 3
CSC 343 Database Systems (S) 3
CSC 443 Software Engineering WI (F) 3
CSC Electives (minimum 3 hours 300-400 level) 6
General Education course specified by the minor  
MAT 135 Discrete Mathematics and Trigonometry (F/S) 5

Minor in Computer Information Science
Required minor courses: 21 hours  
CSC 133 Programming Fundamentals I (F/S) 3
CSC 233 Programming Fundamentals II (F/S) 3
CSC 213 COBOL (S) 3
CSC 343 Database Systems (S) 3
CSC 443 Software Engineering WI (F) 3
CSC Electives (minimum 3 hours 300-400 level) 6
General Education course specified by the minor  
MAT 135 Discrete Mathematics and Trigonometry (F/S) 5


COURSES IN COMPUTER SCIENCES (CSC)

113 Fundamentals of Computer Systems—Prerequisite: 2 years high school algebra, or must be in or have had MAT 113 or higher. Overview of modern computer systems including hardware, software, processing and I/O. Introduction to personal computer operating systems, spreadsheet, database and presentation software. Introduction to data communications to include computer networking and the Internet. Computer security, privacy, ethics, and computer history. Problem solving techniques and computer solutions planning. This course will not count towards a major or minor in CS or CIS. (F/S)

133 Programming Fundamentals I—Prerequisite: Score of 80 or higher on the Fundamentals of Computer Systems proficiency test and must be in or have had MAT 133 or higher. Ethics and responsibility of computer professionals. Algorithms and problem solving to include problem solving strategies, problem abstraction, the role of algorithms in the problem solving process, stepwise-refinement, and debugging strategies. The program development life cycle. Fundamental programming constructs, structured decomposition, and simple I/O. Introduction to the object-oriented paradigm to include abstraction, classes, objects, methods, and recursive methods, parameter passing, encapsulation, inheritance and polymorphism. Object-oriented design and UML. (F/S)

213 COBOL—Prerequisite: CSC 133. An introduction to business programming using COBOL. Students will learn top-down design and structured COBOL programming techniques. Hierarchy charts and psudeocoding are methods taught and used by students on programming assignments to demonstrate programming style, high-level design and documentation. Topics taught include: comparison and data validation; arithmetic functions and decision branching; table processing; sorting, merging and record selections processing; screen design and printed reports. (S)

233 Programming Fundamentals II—Prerequisite: CSC 133 and must be in or have had MAT 135 or higher. Review of professional and ethical issues. Principles of object-oriented programming to include object-oriented methodology, inheritance, class hierarchies, polymorphism; abstract and interface classes. The concept of virtual machines. Single and multi­dimensional arrays. Algorithm analysis to include big “O” notation, average and worst case behaviors, time and space tradeoffs. Fundamental array searching/sorting techniques. Event driven and concurrent programming. Foundations of human-computer interface include fundamental techniques in GUIs, graphic systems, and graphic communication. File I/O and exception handling, threading, and database connectivity. Software engineering issues. (F/S)

243 Computer Architecture/Assembler—Prerequisite: CSC 133. Digital logic, registers and counters, development of a CPU architecture, Fetch/execute cycle alternate architectures. PC assembly language topics: data definition, program structure, data transfer, addressing, I/O, procedures, strings and files. (S)

Prerequisite for all 300-400 level courses: 45 hours or permission.

303 Data Structures—Prerequisite: CSC 233. Review of professional and ethical issues. Review of basic algorithm design and object-oriented design. Pointers and fundamental pointer structures of stacks, and queues. Advanced data structures of linked-lists, binary trees, graphs, hash tables, and heaps. Fundamental computing algorithms to include hash tables, binary search trees, depth-first and breadth-first traversals, minimum spanning trees, and shortest-path algorithms. Advanced programming techniques as time permits. (F)

323 Seminar in Computer Science—Prerequisite: permission. Courses which do not appear in the curriculum will be presented. The course topic will alternate among principles of operation, theory of algorithms and data communications. May be taken twice.

331 Competitive Programming—Corequisite CSC 233 and permission. This course will provide students with the knowledge and approaches necessary to solve a variety of problems via algorithmic development and high level language programming. The primary focus of the course will be problem solving, in an effort to prepare students to compete in the annual ACM (Association of Computing Machinery) programming contest. The course meets a minimum of once per week for two hours during the first half of the semester. Grading is on a pass/fail basis. To pass the course, the student must attend the lecture/practice sessions and make a positive contribution to his/her programming team. Attendance at the regional ACM programming contest is mandatory. The course may be taken up to three times. (F)

333 Programming Paradigms—Prerequisite: 12 hours in computer science including CSC 233. An examination of a given programming paradigm not currently in the computer science curriculum. Such paradigms could include object-oriented programming (OOP) and fourth generation language programming (4 GL’s) as well as others as they become popular within the industry.

343 Database Systems—Prerequisite: CSC 233. Database management concepts including database systems architecture, data modeling including database normalization, relational algebra concepts, query construction and optimization, security, and integrity. Elementary concepts of relational, distributed and object-oriented database systems and data warehousing. (S)

353 Numerical Analysis—Prerequisite: CSC 133 or a programming course, MAT 205 or permission. See MAT 353 course description. May not be used as both CSC 353 and MAT 353. (S–even)

413 Operating Systems—Prerequisite: CSC 303. The concepts, structure and mechanisms of operating systems are covered with emphasis on managing system resources through the operating system’s command language or graphical user interface. Additional concepts covered include processes, concurrency, virtual memory and I/O management, file management, networking and distributed processing. Students will become familiar with several different operating systems. (F)

423 E-Commerce Systems—Prerequisite: CSC 343. Introduction to the key concepts of developing business applications for the World Wide Web. The course also examines the applicability of e-commerce to business, its societal and legal implications/considerations. Includes hands-on experience in the areas of the hypertext markup language (HTML), HTML editors (such as FrontPage or Dreamweaver), scripting languages (such as JavaScript and/or VBScript) and others. (F)

433 Programming Language Theory and Artificial Intelligence—Prerequisite: CSC 303. Overview of programming languages, fundamental issues of language design, virtual machines, introduction to language translation. Fundamental issues in intelligent systems, search and constraint satisfaction, knowledge representation and reasoning. (S–odd)

443 Software Engineering—Prerequisite: CSC 343 and senior class standing. A study of the systems development life cycle from feasibility study through system implementation including requirements analysis, developing and evaluating solutions, prototyping, Rapid Application Development (RAD) and other analysis and design techniques. Additional concepts covered include project management, documentation, performance prediction and measurement. Writing Intensive. (F)

453 Data Communications and Networks—Prerequisite: CSC 243 and CSC 303. A survey of communication principles and equipment. Topics to include: Transmission mediums, carriers, carrier services and regulations. Interface standards; Synchronous and asynchronous systems; Multiplexing and modulation; Network protocols including the OSI model; Data security and protection; Encryption/decryption and data compression algorithms. (S–even)

463 Senior Project/Capstone—Prerequisite: CSC 443 and 12 hours of upper division Computer Science and permission. This course must be taken in consecutive semesters with CSC 443. An original project approved by the Computer Sciences Department which applies the concepts and theory acquired within the CS or CIS majors. At least two areas of the Computer Sciences field must be applied within the project. A written report and poster board presentation of the results are required at the completion of the project. Writing Intensive. (S)

48V (1-6) Internship—Prerequisite: permission. This course will provide an opportunity for students to receive credit and obtain valuable experience while working for a company directly associated with computer science. (May be repeated for a maximum of 6 credit hours)

49V (1-6) Special Problems in Computer Science—Prerequisite: permission. Will provide an opportunity for an advanced student to receive credit and obtain valuable experience while designing systems requested by the Computer Science department.

 

2005 - 2006 College of the Ozarks Catalog