Music Technology
School of Music
 
Music Technology
Music Instruction Building
Muncie, IN 47306
Phone: 765.285.5537
Fax: 765.285.8768


Main banner

MINOR IN COMPUTER SCIENCE, 24 hours
PREFIX NO SHORT TITLE CR HRS
MATHS 161 Appl Calc 1 3
CS 120 Comp Sci 1 3
121 Comp Sci 2 3
124 Discr Struct 3
230 Assembler 3
232 Data Struct 3
6 hours from
CS 300 LAN WAN (3)
333 Sys Arch Org (3)
335 Prog Lang (3)
340 Data Pro Tec (3)
345 G U I (3)
362 Num Anls 1 (3) 6
______
24 hrs
MATHS 135 with a minimum grade of B- will substitute for MATHS 161. Other calculus courses may substitute for MATHS 161 with departmental permission. Students electing CS 333 or 362 must meet the mathematics prerequisites for those courses.
MATHS 215 substitutes for CS 124.

120 Computer Science 1. (3)
Introduction to programming using a high-level language and an established programming paradigm. Emphasis on developing problem-solving skills and programming techniques. Topics include control structures, built-in data structures, simple sorting and searching, procedural abstraction, and paradigm-specific concepts and constructs. Required open-lab and closed-lab assignments bring theory to practice. 
Prerequisite or parallel: MATHS 161.

121 Computer Science 2. (3)
Continuation of Computer Science 1. Strong emphasis on object-oriented paradigm and related problem-solving skills and programming techniques. Topics include recursion, dynamic data structures and related algorithms, efficient sorting and searching, algorithm analysis, file processing, and using standard libraries in chosen object-oriented environment. Open-lab and closed-lab assignments are required. 
Prerequisite: CS 120; MATHS 161.

124 Discrete Structures. (3)
Introduction to topics in discrete structures for computer science majors. Topics include propositional and predicate logic, sets, induction, recursion, relations, functions, combinatorial enumeration, Boolean algebra, and finite state machines. Applications of these topics to computer science are discussed.
Prerequisite or parallel: CS 120.

230 Assembler Language Programming. (3)
Introduction to computer architecture, machine and assembly languages. Includes fixed-point, floating-point, and decimal arithmetic; character and bit manipulation; looping; branching; macros; and subroutines.
Prerequisite: CS 120.

232 Data Structures. (3)
Topics include abstract data structures, trees and graphs and their traversal, priority queues, algorithm design techniques, external storage and sorting, hashing, data compression, memory management.
Prerequisite: CS 121, 124.

300 Local and Wide Area Networks. (3)
LAN usage: file servers, print servers, and database servers. LAN design: wiring systems, protocols, interconnection devices, and operating systems. WAN usage: file transfer protocols and remote information systems. WAN design: leased phone lines, protocols, and routers.
Prerequisite or parallel: CS 121 or 276.

324 Design and Analysis of Algorithms. (3)
Topics include analysis of algorithms; dynamic programming; probabilistic algorithms; examples of geometric, combinatorial, and graph algorithms; pattern matching; fast Fourier transform; introduction to NP-completeness.
Prerequisite: CS 121, 124; MATHS 217.

333 Systems Architecture and Organization. (3) 
Examines the basic building blocks of a computer system including hardwired and microprogrammed controlled computers. RISC and CISC computers will be studied with an assembly language to program the basic computer. Pipeline and vector processing and memory organization will be studied.  
Prerequisite: CS 124, 230; MATHS 217.

335 Programming Languages. (3)
Study of principles of programming languages. Emphasizes language paradigms and important features, structures, and characteristics of modern high-level programming languages. Examples of languages in each paradigm will be studied, including Java as an example of an object-oriented language.
Prerequisite: CS 230, 232.

340 Data Processing Techniques. (3)
Commercial data processing techniques. Use of COBOL to solve problems in file maintenance, report writing, and sorting. Emphasizes direct-access processing techniques including development of interactive screens.
Prerequisite: CS 121, 230.

345 Graphical User Interfaces. (3)
An introduction to the principles of design and implementation of user interfaces with emphasis on graphical user interfaces. Topics include design goals, user interface standards, event-driven programming, application of object-oriented design and programming to GUIs, menus, and dialog boxes.
Prerequisite: CS 335 .

362 Numerical Analysis 1. (3)
Topics include error analyses, approximation and interpolation of functions, solutions of nonlinear equations, approximate differentiation and integration, and orthogonal polynomials. Includes programming of numerical algorithms.
Prerequisite: CS 120; MATHS 162 or 166.
Not open to students who have credit in MATHS 362.