Minor and Course Offerings
Requirements for the Minor in Computer Science
The minor in computer science consists of 18 hours, including CSC 1231, 1231L, 1232, 1232L, 336, and six additional hours of CSC electives.
1231 Introduction to Our Digital World (3) This course will introduce the student to the use of personal computers and mobile technology. Students will learn about the terminology and history as well as sample several aspects of the field during lecture. Students also have a choice of labs – one has an emphasis on software and productivity while the other is a more traditional programming lab. No previous computer experience is assumed.
1231 Introduction to Our Digital World Lab 1 – Programming and Problem Solving (1) (CR: CSC 1231) This lab, offered in conjunction with the course “Introduction to the Digital World” is suggested for students majoring or minoring in a science. This lab will emphasize logic and problem solving skills through the use of the programming language “Java.” Students will also be introduced to basic web development and basic database creation and use.
1231 Introduction to Our Digital World Lab 2 – Applications, Web Design, and Database (1)(CR: CSC 1231) This lab, offered in conjunction with the course “Introduction to the Digital World” introduces students to the world of programming using the graphical programming language “Alice.” Students also learn how computers are used in business and research, explore/use/program databases, learn basic web development, and explore the creation of mobile applications.
1232 Program Design (3) (CO: CSC 1232L) Principles of program design and implementation using a modern programming language. Fundamentals of object oriented programming include basic data types, file input/output, conditional and looping statements, subprograms, arrays and lists, recursion, threads, introduction to graphical user interface design, etc. Students must develop and demonstrate proficiency in writing and debugging programs up to an intermediate level of complexity. (Spring)
1232L Program Design Lab (1) (CO: CSC 1232) This laboratory course expands on the topics covered in CSC 1232. Students will be given programs. They must use the principles of language taught during lecture to develop a programming solution to the problem and thoroughly test their results. (Spring)
214 Enterprise MIS (3) (RE: BADM 299 ● XL: BADM 314) This course is designed to introduce the student to the ways businesses use information technologies to enhance and transform business operations and support business objectives. The key topics include enterprise applications (ERP, CRM, and SCM), web-based systems (E-Commerce, B2B, and intranets), and decision support (data mining and data warehouse). The course is intended to be a survey of the current concepts and practices related to MIS implementations in businesses. As time allows, students will also apply these concepts to hands-on labs.
250 Computing Methods for Science and Math (3) (PR: MATH 202) Covers techniques for numerical calculations, symbolic mathematical manipulations, and graphical presentation of results using spreadsheets, symbolic math packages, and procedural programming languages. (Alternate years)
258 Special Topics (1-6) Special topics courses are those that cover subject matter that is not part of the regular curriculum. A special topics course must have the prior approval of the department and the Provost and may be offered twice. Students may enroll in and receive credit for an unlimited number of special topic courses as long as any prerequisites or other requirements are met.
305 System and Network Administration (3) (PR: CSC 1231) This course is a broad overview of the process of administering desktop and server computers. Operating systems will include Windows, Mac OS X, and Linux. Heavy emphasis will be placed on service management and user management in a multi-user environment. The course will also deal specifically with hardware/software installation and support. Other topics will include network topography (using the OSI model) and maintenance. (Alternate years)
307 3D Modeling and Animation (4) (PR: CSC 1231● XL: ART 307) This course explores concepts and methodologies for creating and exploring 3D graphics and animation. This class will introduce fundamental 3D theories and principles of computer modeling and animation. The class will also explore the history, development, and theories behind modeling and animation. Essential concepts will be made concrete through a major term-long team project in which student teams will develop their own 3D models that are then used in a short animation.
308 Graphics Programming and Animation (3) (PR: CSC 1231● XL: ART 308) This course introduces the student to programming that draws 2D or 3D images on the screen. In particular, we will study graphics packages that enable interactive drawing and animation in 2D and 3D spaces. (Alternate years)
311 Computer Organization (3) (RE: CSC 1231) This course introduces the student to foundational mechanisms of computer architecture including Boolean and sequential circuits, assembly languages, instruction sets, internal data representations, and essential hardware components that support operating systems.
328 Programming Languages (3) (PR: CSC 1231) This course is designed to introduce the student to a variety of programming languages with the goal of studying the design of languages. This course gives particular emphasis to the differences and similarities among imperative, functional, object-oriented, and logic paradigms. Students will have hands-on assignments to illustrate language design issues and introduce them to programming in a variety of environments. (Every third year)
333 Database Processing and Design (3) (PR: CSC 1231 or BADM 299, or POI ● XL: BADM 333) This course will introduce database concepts including data modeling, normalization, database design and implementation, data administration, and, as time allows, data warehouses and data mining. The course will include hands-on experience using commercially available database software beyond simple desktop databases. (Every third year)
336 Algorithms and Data Structures (4) (PR: CSC 1232) A thorough introduction to the analysis of computer algorithms and to advanced techniques for representing information. Analysis of algorithms involves measuring the time and space an algorithm uses thus providing a method for comparing algorithms. Common algorithms and data structures are introduced and analyzed including search and sort methods, lists, trees, and graphs.
350 Numerical Methods (3) (PR: CSC 250 or 1231, and MATH 202, or POI ● XL: MATH 350) A study of the use of the computer to solve mathematical problems of interest to scientists and engineers. Topics include function approximation, numerical differentiation and integration, systems of linear equations, least-squares fitting, function minimization, and Monte-Carlo methods. Special emphasis is placed on using matrix methods where appropriate. Students are expected to write several programs illustrating these topics. (Alternate years)
398 Honors Research (3-6) Departmental Honors: Students with a 3.20 GPA in all courses and a 3.40 GPA in all courses in the major field may, with the approval of departmental faculty, undertake an honors research program during the junior and/or senior years. This program must include a senior thesis or project of exceptional quality and an oral defense of the paper or project before departmental members. This defense is to be open to the College community, and honors students will participate in all other defenses within their discipline. Students who successfully complete the departmental honors research program will graduate ―with honors in the major field.
411 Operating Systems (4) (PR: CSC 1231 and 311) This course is an overview of the essential components of a modern operating system whose primary task is to manage the computer‘s hardware resources. Topics include, but are not limited to, process management, memory management, device management, file systems, and interrupt handling. As time allows, students will have hands-on experience in systems programming by writing a device driver or system call. Emphasis will be in handling concurrency inherent in much of the operating system.
420 Network and Web Programming (3) (PR: CSC 1231 ● RE: CSC 336) This course is designed to introduce the student to how programs communicate over a network. Particular emphasis is given to sockets programming, servlets, and web services. This class is primarily a hands-on programming course involving a series of programming projects designed to practice the areas of emphasis. (Every third year)
425 Software Development I (2) (PR: CSC 1232 ● RE: CSC 411) A hands-on introduction to the basic concepts of software development as principles are applied to medium-sized software projects. The larger part of this course is manifested as a team project that follows a software development methodology whose result is a complete and practical software system. Students are introduced to software development tools and environments as well as various development methodologies and ethics in software development.
426 Software Development II (2) (PR: CSC 1232 ● RE: CSC 411) A continuation of CSC 425.
430 Artificial Intelligence (3) (PR: CSC 1232 ● RE: CSC 336) This course will introduce the student to a wide variety of concepts and ideas from artificial intelligence through (1) practice programming exercises; (2) readings from the text and a variety of journals; (3) interactive intelligent agents distributed through the web and other sources; and (4) lively classroom discussions. Using various components of the course, students will conduct critical analysis of current literature and formulate their own arguments to support their view of the discipline. (Every third year)
432 Theory of Computation (3) (PR: CSC 336 and MATH 208 or 211) A survey of the mathematical foundations of what can and cannot be computed by introducing various classes of languages and their corresponding computational machines. The major categories of complexity for computation are introduced and analyzed including regular expressions, context-free languages, recursively enumerable sets, and intractable problems. (Every third year)
442 Directed Studies (1-3) (PR: JR or SR status and minimum of 9 hrs in CSC) This Course is designed to allow the student to pursue a topic of special interest under the direction of a member of the department. See page 22.
444 Internships (1-6) Internships require a minimum GPA of 2.00 at the time of application (or higher if specified by the department in which the internship is taken). A maximum of six hours credit may be counted towards graduation. Internships are graded on a pass/fail basis only. A department may, at its option, allow the hours earned in an internship to count toward its major.
446 Readings (1-9) Selected readings are open to students with sophomore, junior, or senior standing. Hours earned in these readings cannot be used to meet requirements for the major. A maximum of nine hours credit may be counted towards graduation.
448 Research (1-9) Research requires a minimum GPA of 2.50 (or higher if specified). A maximum of nine hours credit may be counted towards graduation. A department may, at its option, allow the hours earned in an internship to count toward its major.
450 Seminar (1-9) Seminars are regularly offered by various departments of the College. The requirements for these courses are individually listed.
452 Special Projects (1-9) Special Projects are open to sophomore, junior, or senior students who have a GPA of 2.25 and approval by the Provost. A maximum of nine hours credit may be counted towards graduation.
458 Special Topics (1-6) Special topics courses are those that cover subject matter that is not part of the regular curriculum. A special topics course must have the prior approval of the department and the Provost and may be offered twice. Students may enroll in and receive credit for an unlimited number of special topic courses as long as any prerequisites or other requirements are met.