Carroll College, Helena Montana

Course Descriptions

CS: Courses in Computer Science

Department of Mathematics, Engineering, and Computer Science
The Computer Science field changes quickly. The following courses in Computer Science are those that have been approved by the college curriculum committee. Other computer science courses are also offered prior to approval as a regular course or as a one-time topic of special interest. Due to the nature of this discipline, the course offerings will change on a regular basis. For the most current look at our computer science course offerings, please view the Computer Science information on our web site at

CS 103 Instructional Media and Technology 3 Cr
This course is intended for students seeking teacher licensure. Students
will not only interact with new technologies for enhanced learning and engagement in instructional media, but develop technology based unit plans (TBUP’s) for future integration of technology into education. Course focus is
on both hardware and software of instructional media. No prior knowledge of computers or other technology is assumed. Prerequisite: ED 102 or concurrent enrollment in ED 102 or consent of instructor. Each semester.

CS 110 Computer Modelling with Java 4 Cr
This course is an introduction to using computer programs as a way of
modeling, analyzing and enhancing the world. The Java language is both
powerful and commonly used in business, science and many other applications of computing. An integrated laboratory provides experience in programming and algorithmic problem-solving. Topics include computing
and object oriented design methodology, Java fundamentals, modifying objects, control constructs, function usage basics and libraries, programmer defined functions, parameter passing, arrays, the class construct and object-oriented design, event-based programming, and implementing abstract data types. Three one-hour lectures and one two hour laboratory per week. Fall semester.

CS 120 Data Structures and Program Design: A Multimedia Approach 4 Cr
An introduction to program design, fundamental data structures, and analysis of algorithms. The course addresses data structures as tools that you can use to solve problems that arise in modeling a situation and then executing (simulating) the resultant model. As in CS 110, the course makes much use of graphics, sound, pictures, and other media. Topics include contiguous and linked lists (stacks, queues, and general lists), search and sort techniques, binary trees, tables, hashing, recursion, and graphs. Three one-hour lectures and one two-hour laboratory per week. Prerequisite: CS
110. Spring semester.

CS 202 Web Design and Development 3 Cr
An extensive introduction to the fundamentals of HTML/CSS, web page layout, and web site development. Students will learn HTML/CSS plus tips and tricks of making web pages work. The class will also touch on XML, AJAX, JavaScript, PHP, and Podcasting. Students will walk away with a full functioning, standards based web site (additional fee required). The course includes lectures, demonstrations, group projects, and extensive hands-on experience in a computer lab. Spring semester.

CS 213 Management Information Systems 2 Cr
The class familiarizes students with basic concepts in the use of computer applications as management information systems for businesses. It emphasizes database design and concepts with spreadsheets for analysis and reporting of information. Managing technological change, ethics and security are also covered. Hands on projects include using MS Office for presentation, spreadsheet and database applications. Each semester.

CS 220 Programming in Excel 3 Cr
This course is designed to develop advanced Excel users and programmers, with students becoming proficient at developing robust and reliable spreadsheet models. This course focuses on the principles of spreadsheet model design, advanced Excel functions, PivotTables, macros, and the basics of Visual Basic for Applications (VBA) programming, culminating in the development of automated spreadsheets with user interfaces designed for the non-technical user. Students will demonstrate proficiency in subject matter through computer labs and extended projects. Prerequisite: prior Excel experience in Carroll coursework or permission of instructor. Spring semester.

CS 230 Software Engineering 4 Cr
This course addresses the development of software systems. Problemsolving concepts are integrated with a study of the software development life cycle, including project management, requirements analysis, system design, testing implementation, and maintenance issues. Students will create an object-oriented team project. Lectures and laboratory each week. Prerequisites: CS 110 and CS 120 (or equivalent). Fall semester. Fulfills Writing Intensive (WI) requirement.

CS 251 Introduction to Linux 2 Cr
This course will teach students to install Linux (using Ubuntu Desktop or distribution of their choice) and then provide basic command line (Bash) scripting competency. Students will install Linux, preferably on their own computer, in a dual boot or virtual machine environment. The ability to run Linux and Windows or Mac OS on the same machine can provide students with new computer tools. Linux/Unix is used in gaming, research and web environments. Basic skills allows students to begin participating in those environments as well as preparing them for further learning in several Computer Science and Computer Information Systems courses. Basic familiarity with computer hardware and software and your own computer (with 20GB disk free) is recommended. Fall semester.

CS 287 Student Topics 1 Cr
This course is intended for all CS and CIS minors and majors as well as other students with strong interests in technology as a way to explore new topics, implement new technologies, meet other students and develop
meaningful relationships. Upper-class students lead the course. Web, coding techniques and social media technologies are likely topics. The course content will be largely student determined. The course is offered Pass/Fail only. The only prerequisite is an interest in exploring new technologies. There is no fee or required materials. Spring semester.

CS 309 Computer Architecture 4 Cr
This course is an introduction to computer design and implementation by viewing the modern computer as a hierarchy of levels. The digital logic level, the micro architecture level, the instruction set architecture level, the operating system machine level, and the assembly language level are all discussed. An integrated laboratory applies the concepts studied through the use of an actual assembler or simulation software. Three onehour lectures and one two-hour laboratory per week. Spring semester, even-numbered years.

CS 310 Database Design and Implementation I 4 Cr
Using Oracle, this course concentrates on representing, storing and retrieving data from external storage devices. Learn SQL and software development using Oracle’s Application Express. Three one-hour lectures and one two-hour laboratory per week. Prerequisites: Grade of “C” or better in CS 110 (or equivalent). Recommended: CS 120 and CS 230 prior to taking this class. Fall semester.

CS 311 Database Design and Implementation II 4 Cr
As a continuation of CS 330, student will analyze, design, implement, test, and present a database project in Oracle. Lectures and laboratory each week. Prerequisites: CS 310 (or equivalent).

CS 330 Networking Technologies 4 Cr
This is the first in a 2 course sequence on data network transmission technologies. The class covers the OSI and TCP/IP models of communication and IP addressing. Emphasis is on local area network (LAN) designs and technologies like cabling, Ethernet and switching. Basic routing concepts are also covered. Labs involve building and configuring your own networks to generate and observe traffic and network behaviors. The labs use primarily Cisco equipment and track Cisco CCNA certification standards. Prerequisite: Basic computer skills and some knowledge of computer hardware and software or consent of the instructor. Offered fall semester, even-numbered years.

CS 331 Internet Infrastructure 4 Cr
This the second in the 2 course sequence on data network transmission technologies. The class covers advanced routing protocols such as OSPF, IS-IS, MPLS and BGP as well as supernetting, IPv6 addressing and audio and video transmission and issues like QOS (quality of service) and multicasting. The class also focuses on ISP and wide area technologies (WAN) such as T carrier, Sonet, frame-relay, ATM and ISDN. Labs emphasize building and debugging complex networks and track Cisco CCNP certification content. Prerequisite: CS 330, Cisco CCNA certification or consent of the instructor. Spring semester, odd-numbered years.

CS 410 Operating Systems 4 Cr
This class covers the design and theory of modern computer operating systems. It explores topics such as process management, CPU scheduling, memory management and protection, device management and diversified operating systems. The lab component focuses on learning the C language and on its use in the Linux operating system. Recommended: CS 110 and CS 309. Fall semester.

CS 421 Cyber Security 4 Cr
This course combines knowledge and skills from the 2 computer network classes (CS330 and CS331) with the Operating Systems class (CS410) to build, compromise and secure computer network and server systems. Labs include using Cisco, Microsoft, and Linux systems (switches, routers, workstations and servers) as well as implementing network firewalls. The
course also covers security concepts, policies, and risk management as well as hacking techniques and defenses. Prerequisites: CS330 and CS410. CS331 is recommended. Spring semester.

CS 425 Internship 1-6 Cr
This course is an internship consisting of supervised work experience with a business or nonprofit agency in the computer science field. Ideally, the internship should relate the type of work (network, web, programming, etc.) that the student is most interested in. Forms and procedures can be obtained through the Carroll internship coordinator. Prerequisites: Consent of instructor.

CS 430 Senior Project: Your Project 4 Cr
This course will present students with a substantial experience in software engineering. Students will investigate, design, implement, and present a significant software project, working both as individuals and in project teams. Projects will also teach the students about project management concerns. Prerequisites: CS 310 (or equivalent). Spring semester.

CS 495 Computer Science Seminar 3 Cr
Various topics not covered in other computer science courses are researched and discussed. Students analyze selected readings on ethics and the integration of technology in business and the world in general as well as work on related projects and/or papers. Students participate in defining and presenting their own content in the class. Spring semester, even-numbered years.

CS 499 Senior Thesis 3 Cr
The student can select, research, and write a research paper on a computer science topic. The student will need a thesis advisor and 2 readers and will complete this (typically) in their final year at Carroll. The student will meet all the requirements for an Honors Thesis at Carroll as described in the 298 Course Descriptions—EAS: Earth Sciencescatalog. This course can be used in place of the Senior Project requirement for the CS degree.