CS 110 - Understanding Computers (3)
Operation and use of a computer system, software applications such as word processing, spreadsheets, presentation software, databases, e-mail, and internet. Other topics include fundamental concepts of Information Technology, computer system design, social and ethical issues relating to computer use, and information technology issues, and the utilization of computers to problem-solve and to access current information. This course meets all information and computer literacy competency requirements. This is a Communication Intensive course. FA, SP, SU.
CS 120 - Introduction to CS I (4)
Introduction to the fundamental principles of computer science, with emphasis on problem solving techniques, data and procedural abstraction, and use of algorithmic thinking to understand, decompose and translate problem descriptions into sound, machineexecutable solutions. Includes formal lab work. Corequisite: CS 110. FA.
CS 121 - Introduction to CS II (4)
Continues study of principles of computer science, structured programming, object oriented programming, and algorithmic languages. Additional topics include elementary data structures, recursion, software engineering concepts, design, implementation, and maintenance of large programs. Includes formal lab work. Prerequisite: CS 120 or equivalent. SP.
CS 140 - A+ (3)
Prepares students for the CompTIA A+ exams. Students will learn about PC hardware and system maintenance procedures. Topics include a detailed look at hardware components, power supply, upgrades, networking, maintenance, and troubleshooting. Students will also learn installation procedures for Windows, dealing with legacy systems, creating and using emergency boot diskettes, and managing printers and other devices. Prerequisite: CS 120 or equivalent. SP, even Years
CS 145 - Network+ (3)
This course prepares students for the CompTIA Network+ exam. Students will learn the fundamentals of networking. Through hands-on training, students will learn the vendor-independent networking skills and concepts that affect all aspects of networking, such as installing and configuring the TCP/IP client. Prerequisite: CS 120. SP, odd Years
CS 160 - Visual BASIC Programming (3)
Considers fundamental programming skills and concepts: problem definition, design of solution, coding and the use of the Visual Basic Integrated Development Environment. Corequisite CS 110 or equivalent. SP, even years.
CS 165 - Object Oriented Programming in C# (3)
A programming class using object-oriented design and programming concepts and how they are applied in C#. The emphasis will be towards hands-on program development, testing and debugging of code. The role of the support libraries will be examined along with the Integrated Development Environment (IDE). Prerequisite: CS 120. FA, odd years.
CS 166 - Object Oriented Programming in Java (3)
A programming class using object-oriented design and programming concepts and how they are applied in Java. The emphasis will be towards hands-on program development, testing and debugging of code. The role of the support libraries will be examined along with various Integrated Development Environments (IDEs). Prerequisite: CS 120. FA, even years.
CS 170 - Web Page Design (3)
Covers designing and creating a web page. It includes how to create a web page using HTML as well as making the page both eye-catching and functional. Information will also be provided on implementation of the page on the World Wide Web. SP, odd years.
CS 180 - Special Topics (1-3)
A study of specialized topics in computer science. May not meet requirements for Computer Science or Software Engineering majors. FA, SP, SU.
CS 195 - Introduction to Software Engineering Careers (1)
Interview and observe computer professionals in work settings. Report on and discuss what was learned regarding skills, attitudes, and knowledge areas that contribute to the success of a computer professional. Prerequisite: CS 120. SP.
CS 201 - Introduction to Software Engineering (3)
Study of the tools and techniques used in the lifecycle of large software systems. Topics include waterfall, iterative and incremental software development practices; phases of the software lifecycle (e.g. requirements analysis, specifications, design, coding, testing); Unified Modeling Language and other tools for modeling and designing various aspects of software systems; quality assurance and testing. Prerequisite: CS 121. FA, odd years.
CS 222 - Data Structures (3)
A study of the development and use of Abstract Data Types for storing and retrieving data. Data structures considered include lists, strings, tables, stacks, trees, and graphs. Pointers, templates, and classes are used for implementing data structures. Other topics include searching and sorting algorithms and recursion. Prerequisite: CS 121. FA.
CS 245 - Assembly Language (3)
An introduction of the Assembly Language. The student will work with binary and hexadecimal numbering systems, computer architecture and assembly language instruction sets. The student will write assembly language programs, implementing an assembler and linker using a high-level language. Prerequisite: CS 120. SP, even years
CS 312 - Advanced Visual Basic (3)
Covers the advanced features of Visual Basic. Will utilize the Integrated Development Environment (IDE) while developing Windows API based programs. Emphasis will be placed on the use of Object Oriented principles and debugging techniques. The course may include using Visual Basic Scripting for Internet based applications and introduction to Visual Basic for Applications (VBA) for enhancing the functionality of Microsoft Office applications. Prerequisite: CS 160. FA, odd years.
CS 313 - Advanced Object Oriented Programming in C# (3)
Focuses on advanced object-oriented techniques using the C# programming language. A significant part of the course will be devoted to enhancing programming techniques and testing and debugging skills. Prerequisite: CS 165. SP, even years.
CS 314 - Advanced Object Oriented Programming in Java (3)
Focuses on advanced object-oriented techniques using the Java programming language. A significant part of the course will be devoted to enhancing programming techniques and testing and debugging skills. Prerequisite: CS 166. SP, even years.
CS 315 - Operating Systems (3)
A study of operating system concepts and how those concepts are used in the design and implementation of modern operating systems. Topics include process management, processor scheduling, memory management, virtual memory, I/O, file systems, deadlocks, and concurrency. Prerequisite: CS 222. FA, even years.
CS 319 - Web Page Programming (3)
CS 321 - Networking (3)
Considers a wide range of concepts used in the design and implementation of modern network systems. Course content will be organized according to the TCP/IP and the OSI model. Among topics that will be
included are hardware components, protocol suites (especially TCP/IP), network topologies, IEEE 802.3 networks, bridging, and routing. Prerequisite: CS 120. SP, even years.
CS 340 - Database Management (3)
Studies of database management including: concepts and characteristics, planning organization, data structures, semantic data modeling, conceptual design, physical design, administration, and implementation. Students will design a database. Prerequisite: one computer language. FA, odd years.
CS 345 - Computer Organization & Architecture (3)
Studies the principles used in design and implementing digital computer systems. Topics include Boolean algebra and gates, basic digital logic circuits, memory circuits, buses, CPU organization, microarchitecture organization, data representation, instruction set design, addressing modes. As time allows, a variety of operating system and machine language concepts will be included. Prerequisites: CS 222, FA, odd years.
CS 346 - Foundations of Computing (3)
Considers the mathematical underpinning of computer science. The course includes topics such as finite automata, regular expressions, grammars, languages, pushdown automata, Turing machines, solvability, complexity, and Churchís Thesis. Meets the Communication Intensive course requirements in the major. Prerequisites: MA 130, CS 222. SP, odd years
CS 350 - Systems Analysis and Design (3)
In-depth discussion of the methodologies for designing and implementing computerbased systems. In the context of the systems life cycle the course covers topics such as breaking complex processes into phases and activities with specific products or objectives, preliminary investigation, analysis, design, implementation, and evaluation. Case studies are used to emphasize the points covered. Prerequisite: six hours of computer programming and CS 201 or consent of instructor. SP, odd years.
CS 365 - Program Language Systems (3)
Description and analysis of key issues in the design, and implementation of programming languages, including syntax and semantic specification, lexical analysis and parsing, names and binding, data types, expressions and assignments, control structures, subprogram calling and parameter passing, data abstraction, and objects. As time allows, concurrency, functional programming, and logical programming will be included. Prerequisite: CS 222, and one of the following: CS 160, CS 165 or CS 245.SP, even years.
CS 380 - Advanced Special Topics (1-3)
A study of advanced specialized topics in computer science. May not meet requirements for Computer Science or Software Engineering Majors. Prerequisites will vary.
CS 480 - Practicum (3)
Participatory computer experience working in a department or office on campus. The placement will be selected with the Computer Science faculty approval, based on campus need and availability. Prerequisite: CS 222 and Junior standing. FA, SP.
CS 490 - Directed Study (1-3)
In-depth study of an approved topic not covered in other computer science courses. Prerequisite: Consent of instructor.
CS 495 - Internship (3)
Participatory computer experience working for company or not for profit organization in the area. The choice of organization and type of work is to be determined by the student but must be approved in advance by a Computer Science faculty member who will coordinate the studentís placement. Prerequisite: CS 222 and Senior standing, FA, SP.
CS 499 - Computer Science Capstone (3)
Provides opportunity for students to integrate learning from throughout Computer Science coursework. Students will do major practical or research projects requiring comprehension of complex and scholarly computer science literature. Meets the Capstone course requirement in the major. Prerequisites: CS 222 and Senior standing. FA, SP.