Computer Science Courses
Below are all of the courses you have to choose from in this academic major. Some are required while others are electives. Please view the course catalog to see what is required to earn a degree in this major.
Computer Ethics and Society (SCS 116)
This course presents a number of real-world moral and ethical questions and dilemmas that have arisen with the use of computers and other technology. The course also explains a number of ethical theories and philosophies that can be used to formulate decisions and outcomes to such questions or dilemmas. Students identify and formulate moral and ethical decisions and outcomes for situations they may encounter in future coursework and in their professional careers. Spring semester, odd-numbered years. 1 credit.
Prog 1: Intro to Development (SCS 132)
Students learn the fundamentals of computer science and application development. This course uses the Java programming language. Students learn fundamental programming skills, including data types, branches, loops, classes and methods, all of which are highly transferrable to other languages. Fall and spring semesters. 3 credits.
Exper with Comp & IT Professionals (SCS 135)
This course gives the student exposure to a variety of professions that are in high demand within the various computer professions. Students shadow Computer and Information Technology professionals to observe day-to-day activity, planning, design, implementation, and troubleshooting of various technical needs. Fall semester. 1 credit.
Prog 2: Mobile App Development (SCS 141)
This course utilizes the Objective C programming language on mobile platforms. Current platforms are the iPhone and iPad. The platform is updated as needed. Students learn advanced programming concepts such as GUI development, modular programming, object-oriented class development, and class relationships. Students also learn additional features of the XCode programming environment. Prerequisite: SCS132. Spring semester. 3 credits.
Systems Programming (SCS 212)
Students become familiar with the C and C++ programming languages, as well as apply them with UNIX/Linux/MacOSX systems programming. Fall semester, even numbered years. 3 credits.
Unix Concepts and Programming (SCS 215)
Gives general use of the Unix/Linux operating system, including navigation, file manipulation, and common Unix/Linux commands. This course also covers use of the vi editor, programming with shell scripts, and use of network-based applications. This course uses the Linux operating system platform. Fall semester. 3 credits.
Exper with Computer Systems Admin (SCS 225)
This course gives the student practical training and experiences with creating and managing computer systems. Students install, configure, and manage operating systems to implement user needs and other real-world task requirements. Students work with virtual environments and cloud-based system instances (an instance is one’s own virtual computing system to be used and managed for one's particular needs) to gain experience with those forms of technology that are increasing in practical use. Spring semester, odd-numbered years. 1 credit.
Database Management Systems (SCS 230)
Introduces the student to the process of relational database development, including data modeling, database design, implementation, and administration. Topics include: the relational model, E-R Model, relational database design, normal forms, functional dependencies, relational algebra and calculus, SQL, query processing, crash recovery, concurrency control, security, and integrity. Students are expected to complete projects using Microsoft Access and SQL. Spring semester, odd-numbered years. 3 credits.
Programming Languages (SCS 250)
The syntax and semantics of programming languages. Topics include formal specification syntax, declarations, binding, allocation, data structures and data types, control structures, control and data flow, the implementation and execution of programs, functional programming, and imperative programming. Other topics include non-procedural and logic programming. Programming projects provide experience in a variety of high level languages. Writing Intensive course. Prerequisite: SCS220 or SCS290. Fall semester, odd-numbered years. 3 credits.
Computer Forensics Desktop & Mobile (SCS 270)
Explains and demonstrates the technical procedures for preserving, capturing, recovering, and presenting digital evidence. Background check required. Fall semester. 3 credits. Fee.
Comp Security Networks & Mobile (SCS 275)
Introduces basic computer security concepts and methods. Explains concerns regarding computer security and describes methods to provide various forms of computer security and implement some of these methods. Primarily based on UNIX/Linux (for uniformity and security issues) but also explains Windows-based concepts when applicable. Spring semester, even-numbered years. 3 credits. Fee.
App Dev with Data Structures (SCS 290)
The topics in this course include: definitions and implementations of basic data structures including arrays, stacks, queues, and linked lists; recursion as an algorithm design tool; searching and sorting algorithms and their designs, implementations, and applications; advanced data structures including balanced trees, graphs, tree and graph traversal, and their applications; file management techniques including hashing and indexing. Students use the programming language C++. Prerequisite: SCS141. Fall semester, odd-numbered years. 3 credits.
Analysis of Mobile Software Systems (SCS 301)
Focus on the fundamentals of systems analysis and software engineering to develop software for mobile platforms. Students explore the process of developing software and learn a specification language for creating software specification and design documents. Students apply their knowledge on a semester-long analysis project. Prerequisite: SCS131. Fall semester, even-numbered years. 3 credits.
Operating Systems (SCS 321)
An introduction to the fundamentals of operating systems. Topics include interprocess communication, process scheduling, deadlocks, memory management, virtual memory, file systems, and distributed systems. Formal principles are illustrated with examples from various operating systems. Prerequisites: SCS215 and SCS290. Fall semester, odd-numbered years. 3 credits.
Algorithms Analysis (SCS 341)
Introduction to the design and analysis of computer algorithms. Topics include fundamental algorithms, mathematical tools for analyzing algorithms, and strategies for designing algorithms. Fundamental algorithms include graph algorithms and algorithms for sorting, searching, hashing, integer arithmetic, and selected combinatorial tasks. Mathematical tools include asymptotic notations and methods for solving recurrences. Algorithm design strategies include scanning, greedy method, divide and conquer, dynamic programming, and randomization. Prerequisites: SCS220 or SCS290, and SMA130. Fall semester, odd-numbered years. 3 credits.
Software Engineering for Mobile Sys (SCS 374)
Focus on the software development process as it applies to mobile software systems. Students use the Unified Modeling Language (UML) to design a software system and implement and test the system using a variety of software engineering techniques. Traditional software engineering content is discussed, particularly in its relationship to software engineering for mobile systems. Prerequisite: SCS301. Spring semester, odd-numbered years. 3 credits.
Select Topics in Computer Science (SCS 390)
Study of a specified traditional, cutting-edge, and/or advanced topic in computer science. Permission required. Offered as needed. Repeatable for credit. 3 credits. Fee.
Computer Systems Research/ Seminar (SCS 400)
This capstone course explores technical material to help students learn and understand the technical nature of computer operating systems and networks; helps develop abilities to read, speak, and write technical information — all necessary skills for the workforce and graduate school; and introduces the typical structure of a research paper and the use of Latex to write research papers. Prerequisites: SCS321 and SCY391. Spring semester, even-numbered years. 3 credits. Fee.
Internship (SCS 430)
Through placement with cooperating area firms, the student gains practical experience and valuable insight into the future work environment. Repeatable for credit. Permission required. Variable credit.
Computer Networks Wired & Wireless (SCY 391)
Fundamentals of data communications and computer networking including circuit and packet switching, network architectures and protocols, local/metropolitan/wide area networks, OSI protocols, TCP/IP Suite, X.25, ISDN, network management, and network programming. Fall semester, odd-numbered years. 3 credits. Fee.
Calculus 1 with Analytic Geometry (SMA 130)
Real numbers, sets, relations, and functions. The calculus of one variable. Satisfies the Mathematics requirement of the Liberal Arts Curriculum. Calculator required. Prerequisite: a working knowledge of algebra and trigonometry. Fall and spring semesters. 4 credits.
Discrete Mathematics (SMA 205)
An introduction to sets, logic, methods of proof, and combinatorics. Pre- or co-requisite: SMA130. Spring semester. 3 credits.
Applied Math for Computer Science (SMA 215)
This course introduces key ideas from the fields of probability, linear algebra, and graph theory along with applications of those ideas to computer science. Prerequisite: SMA205. Spring semester, even-numbered years. 3 credits.