Fall 2019 Courses


Intro to Programming | CSCI 100 00

Course Photo for Intro to Programming Instructor: Robert Smith
Credits: 3

Delivery Method: Face-to-Face
Days and times: M; 10am-10:50am

Course Description: Offered autumn and spring. This course covers basic programming concepts such as variables, data types, iteration, flow of control, input/output, functions, and objects. The course will also cover programming ideas such as data structures, algorithms, modularity, and debugging. Students will learn about the role computation can play in solving problems by writing interesting programs to solve useful goals. No prior programming experience is expected. (Two hours independent lab per week.) Credit not allowed for both CSCI 100 and CSCI 110.

Instructor Email: robert.smith@umontana.edu

Additional Details: CRN: 71437

Careers in Computer Science | CSCI 106 01

Course Photo for Careers in Computer Science Instructor: Patricia Duce
Credits: 1

Delivery Method: Face-to-Face
Days and times: T; 9am-9:50am

Course Description: Offered autumn. Exploration of various careers available in the general area of Computer Science. Includes discussion of strategies for success in the major. Computer Science faculty members also will discuss possible undergraduate research opportunities and motivation for graduate education.

Instructor Email: patricia.duce@umontana.edu

Additional Details: CRN: 72547

Fund of Computer Science I | CSCI 135 10

Course Photo for Fund of Computer Science I Instructor: Patricia Duce
Credits: 3

Delivery Method: Face-to-Face
Days and times: MW; 2pm-2:50pm; TBA

Course Description: Offered autumn and spring. Offered on both Mountain Campus and at Missoula College. Prereq., computer programming experience in a language such as BASIC, Pascal, C, etc. Fundamental computer science concepts using a high level structured programming language (e.g. Java or Python).

Instructor Email: patricia.duce@umontana.edu

Additional Details: CRN: 74131. This course is linked to labs CSCI 135.11 (72804) or CSCI 135.12 (74130)

Fund of Computer Science I | CSCI 135 00

Course Photo for Fund of Computer Science I Instructor: Patricia Duce
Credits: 3

Delivery Method: Face-to-Face
Days and times: MW; 11am-11:50am; LA 207

Course Description: Offered autumn and spring. Offered on both Mountain Campus and at Missoula College. Prereq., computer programming experience in a language such as BASIC, Pascal, C, etc. Fundamental computer science concepts using a high level structured programming language (e.g. Java or Python).

Instructor Email: patricia.duce@umontana.edu

Additional Details: CRN: 71527. This course is linked to lab CSCI 135.01 (70661) or CSCI 135.02 (71881).

Fund of Computer Science II | CSCI 136 10

Course Photo for Fund of Computer Science II Instructor: Staff, Staff
Credits: 3

Delivery Method: Face-to-Face
Days and times: MW; 9am-9:50am; SS 254

Course Description: Offered autumn and spring. Offered at both Mountain Campus and Missoula College. Prereq., CSCI 125, or CSCI 126 or CSCI 135; coreq., M 115 or M 151 or consent of instr. Survey of computer science topics including recursion, algorithms, basic data structures, operating systems, artificial intelligence, graphics, user interfaces, and social and ethical implications of computing.

Additional Details: CRN: 72803. This course is linked to lab CSCI 136.11 (72803) or CSCI 136.12 (72805).

Intro to Computer Modeling | CSCI 172 50

Course Photo for Intro to Computer Modeling Instructor: Matthew Dolan
Credits: 3

Delivery Method: Online

Course Description: Offered autumn and spring. Offered at both Mountain Campus and at Missoula College. Problem solving and data modeling using computer productivity software. Emphasis using spreadsheets and database for data analysis.

Instructor Email: matthew.dolan@umontana.edu

Additional Details: CRN: 71395

Web Design and Programming | CSCI 181 00

Course Photo for Web Design and Programming Instructor: Yolanda Reimer
Credits: 3

Delivery Method: Face-to-Face
Days and times: MWF; 11am-11:50am; SS 258

Course Description: Offered autumn. Students will learn how to critically analyze the usability of web sites and create their own by understanding and applying universal principles of design. Programming and other key concepts covered include HTML, CSS, JavaScript, and Web Graphics. Students will complete many different types of Web projects throughout the semester, culminating in an online portfolio used to showcase work completed in this class and others. No prior programming experience is expected.

Instructor Email: yolanda.reimer@umontana.edu

Additional Details: CRN: 73557

Programming with C/C++ | CSCI 205 00

Course Photo for Programming with C/C++ Instructor: Patricia Duce
Credits: 4

Delivery Method: Face-to-Face
Days and times: TR: 1:30pm-2:50pm

Course Description: Offered spring and fall. Prereq., CSCI 136. Concepts and principles of programming languages with an emphasis on C, C++, and object-oriented programming. Syntax and semantics of object-oriented languages. Principles and implementation of memory allocation and de-allocation, type-checking, scope, polymorphism, inheritance.

Instructor Email: patricia.duce@umontana.edu

Additional Details: CRN: 73812

Data Structures and Algorithms | CSCI 232 00

Course Photo for Data Structures and Algorithms Instructor: Travis Wheeler
Credits: 4

Delivery Method: Face-to-Face
Days and times: MW; 1-1:50pm; SS 356

Course Description: Offered autumn. Prereq., 'B-' or better in CSCI 136; or consent of instr. Abstract data types, algorithm analysis, stacks, queues, lists, recursion, trees, hashing, graphs, and applications of data structures in algorithm development. Python programming language used.

Instructor Email: travis.wheeler@umontana.edu

Additional Details: CRN: 71066. The course requires a 1-hour lab. CSCI 232.01 (72802), CSCI 232.02 (73588), or CSCI 232.03 (73589)

Computers, Ethics, and Society | CSCI 315E 01

Course Photo for Computers, Ethics, and Society Instructor: Cheyenne Laue
Credits: 3
Gen Ed Attributes: Ethics and Human Values (E)
Delivery Method: Face-to-Face
Days and times: MWF; 12-12:50pm; ED 312

Course Description: Offered autumn. Prereq., WRIT 101 or equivalent, and one intermediate writing course. Ethical problems that computer scientists face. The codes of ethics of professional computing societies. The social implications of computers, computing, and other digital technologies

Instructor Email: cheyenne.laue@umontana.edu

Additional Details: CRN: 71818

Software Science | CSCI 323 01

Course Photo for Software Science Instructor: Staff, Staff
Credits: 3

Delivery Method: Face-to-Face
Days and times: TR; 9:30am-10:50am; SS 362

Course Description: Offered autumn. Prereq., CSCI 136. Study, implementation, and assessment of software processes, techniques, methods, and CASE tools. Project management and cost estimation techniques will be examined. A group project may be required.

Additional Details: CRN: 72083

ST: Cyber Security | CSCI 391/591

Course Photo for ST: Cyber Security Instructor: Oliver Serang
Credits: 3

Delivery Method: Face-to-Face
Days and times: TR: 11am-12:20pm

Course Description: This is a first course in cyber security. Topics covered include the analysis of executables, permissions failures, basic x86 assembly, basic exploits, standard defenses, hacker responses to those defenses, keylogging, logic bombs, quines, cryptography, cracking cryptography, online anonymity / TOR, and a brief history of how these topics arose and shaped our world. Python will be used along with lite C++.

Instructor Email: oliver.serang@umontana.edu

Additional Details: CRN: 75242/75244

Advanced Programming Theory/Practice I | CSCI 426 01

Course Photo for Advanced Programming Theory/Practice I Instructor: Yolanda Reimer
Credits: 3

Delivery Method: Face-to-Face
Days and times: MW; 3pm-4:20pm; SS 362

Course Description: Offered autumn. Prereq., CSCI 323, or consent of instr. Students should be of Senior class standing. Class represents first in senior capstone experience. Students will work in groups to design and prototype real-world software. Focus will be on client interaction, software engineering methodologies, project management tools, requirements specification and analysis, design, user feedback, documentation and presentation.

Instructor Email: yolanda.reimber@umontana.edu

Additional Details: CRN: 70029

Data Visualization | CSCI 444 01

Course Photo for Data Visualization Instructor: Jesse Johnson
Credits: 3

Delivery Method: Face-to-Face
Days and times: MWF; 1pm-1:50pm; SS 362

Course Description: Offered intermittently. Prereq., M 171; programming experience; and junior, senior, or graduate status; or consent of instr. This course emphasizes the practice of data visualization, compelling students to identify and master tools to produce visualizations of data having relational, raster, vector, geographical, networked, mesh based, spectral, or phase space properties. The unique challenges of each data type will be covered. The emphasis on production is coupled to a framework for critique, allowing students to differentiate between high and low qualities visualizations.

Instructor Email: jesse.johnson@umontana.edu

Additional Details: CRN: 73250

Machine Learning | CSCI 447/547

Course Photo for Machine Learning Instructor: Douglas Brinkerhoff
Credits: 3

Delivery Method: Face-to-Face
Days and times: TR; 12:30pm-1:50pm; SS 362

Course Description: Offered intermittently. Prereq., CSCI 232 or consent of instr. Introduction to the framework of learning from examples, various learning algorithms such as neural networks, and generic learning principles such as inductive bias, Occam's Razor, and data mining. Credit not allowed for both CSCI 447 and CSCI 547.

Instructor Email: douglas.brinkerhoff@umontana.edu

Additional Details: CRN: 74133/74132

ST: Software Optimization | CSCI 491/591

Course Photo for ST: Software Optimization Instructor: Oliver Serang
Credits: 3

Delivery Method: Face-to-Face
Days and times: TR; 3:30pm-4:50pm; SS 362

Course Description: This course introduces various ways to optimize code for greater performance and to do important tasks fast in practice. It is the complement to the Algorithms course in that it focuses on practical runtime over theoretical big-oh runtime. The course discusses topics like bit twiddling, cache performance, memory allocation, compiler optimizations, template recursion, optimizing out expensive mathematical functions, and more in the same vein. It’s a fun subject area and one with limitless possibilities!

Instructor Email: oliver.serang@umontana.edu

Additional Details: CRN: 74811/74812

ST: Grad Research Methods | CSCI 591 02

Course Photo for ST: Grad Research Methods Instructor: Douglas Brinkerhoff
Credits: 3

Delivery Method: Face-to-Face
Days and times: W; 4pm-5:50pm

Course Description: This course will provide an introduction to the fundamental practices of academic research in Computer Science. The primary conceptual topics will be the development of effective research questions and hypotheses, the design of a research plan to address these questions, and the effective presentation of results in written and oral form. The course will also introduce practical research tools, such as primary literature search, citation methods and practices, open-source typesetting and design tools, the peer review process, and identification of funding sources. Over the course of the semester, students will prepare a graduate research proposal and present it in multiple formats: as a written document, a talk, a poster, and a (real) grant proposal. The course will emphasize active learning (discussions, working with peers, writing, other forms of student participation in and out of class) over lectures.

Instructor Email: douglas.brinkerhoff@umontana.edu

Additional Details: CRN: 74834