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

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: 4 Cr
A Multimedia Approach
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

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
catalog. This course can be used in place of the Senior Project requirement
for the CS degree.