MSU Billings Catalog

CSCI - Computer Science/Programming

CSCI 100 Intro to Programming. 3 Credits

Term Typically Offered: Fall

Introduces key programming concepts such as variables, functions, iteration, and control flow. Using the Python language, students will also explore data structures such as lists, tuples, sets, and dictionaries. Attention will be given to introducing the concepts of object-oriented programming, and students will gain experience developing algorithms to solve problems by modeling real-life situations.

Lecture Hours 2, Lab Hours 2

Department: Computer Technologies - COT

CSCI 111A Programming with Java I. 4 Credits

Term Typically Offered: Fall, Spring

Prerequisite(s): M 095.

Introduces programming in Java. Presents algorithms and problem solving, data structures in Java, searching and sorting, procedures and functions, and elements of program life cycle.

Lecture Hours 4

Department: Math/Comp Sci/Statistics

CSCI 111B Programming with Java I. 3 Credits

Term Typically Offered: Fall

Prerequisite(s): CAPP 120, CSCI 100.

3cr. Demonstrates the power of Object-Oriented programming through the use of the Java Programming language. Students will learn specifics about the Java programming language and how to use that programming language to create objects, Graphical User Interfaces, Applets, and other basic Java applications.

Lecture Hours 3

Department: Computer Technologies - COT

CSCI 114 Programming with C#. 3 Credits

Term Typically Offered: Spring

Prerequisite(s): CSCI 100.

Provides students with the knowledge and skills required to program in the high-level, strongly-typed “C” language family. The course provides the skills required to compile program code, work with .NET framework class library, and create user-defined types. The course also teaches students how to troubleshoot coding errors, logic errors, and run-time errors. Students will also develop skills to work with built-in numeric types as well as more complex types that represent a wide variety of logical constructs, such as the file system, network connections, collections and arrays of objects, and dates.

Lecture Hours 3

Department: Computer Technologies - COT

CSCI 116 Python Programming. 3 Credits

Term Typically Offered: Spring

Prerequisite(s): CSCI 100, CSCI 181, CSCI 240.

3cr. Builds upon student's introductory experience, developing familiarity with Python's capabilities in Web development, database integration, data migration and analytics, and file processing.

Lecture Hours 3

Department: Computer Technologies - COT

CSCI 121 Programming with Java II. 3 Credits

Term Typically Offered: Spring

Prerequisite(s): CSCI 111B or consent of instructor.

3cr. Consolidates students’ knowledge concerning Java while expanding into the Android platform for development. Students will create a variety of applications to run in Android simulators and actual devices, and integrate with SQLite databases, as well as RESTful JSON APIs as part of their development experience. The Kotlin programming language will be an option for students, as it has become the preferred language for Android development.

Lecture Hours 2, Lab Hours 2

Department: Computer Technologies - COT

CSCI 124 Advanced C#/.NET. 3 Credits

Term Typically Offered: Fall

Prerequisite(s): CSCI 114 or consent of instructor.

3cr. Provides students with an understanding of basic data structures such as arrays and array lists and their usefulness in manipulating data. This course will provide students with learning experiences in connecting to database applications and external measurement devices and manipulating, analyzing, and displaying the data acquired by those means to develop C#/.NET dynamic applications.

Lecture Hours 2, Lab Hours 2

Department: Computer Technologies - COT

CSCI 127 Joy and Beauty of Data. 3 Credits

Term Typically Offered: Spring

Prerequisite(s): CSCI 100.

3cr. Provides a gentle introduction to the exciting world of big data and data science. Students expand their ability to solve problems with Python by learning to deploy lists, dictionaries, and object-oriented programming. Data science libraries are introduced that enable data to be manipulated and displayed.

Lecture Hours 1, Lab Hours 4

Department: Computer Technologies - COT

CSCI 132 Bsc Data Structures/Algorithms. 4 Credits

Prerequisite(s): CSCI 111A. (Sp) Investigates the essential properties of data structures and algorithms for operating on them.

Covers the use of data structures as tools in algorithms design. Provides exposure to searching, sorting, and hashing techniques using the Java language.

Lecture Hours 4

Department: Math/Comp Sci/Statistics

CSCI 181 Web Design & Programming. 3 Credits

Provides students with the necessary skills to design, create, and maintain a complete website on a server. The class will cover many of the elements of web design, including HTML5, CSS, scripting, visual information design, and usability/information architecture techniques. This course also covers basic tools for developing websites such as Notepad++ and Dreamweaver.

Lecture Hours 3

Department: Computer Technologies - COT

CSCI 211 Client Side Programming. 3 Credits

Prerequisite(s): CSCI 181 or consent of instructor.

Provides students with scripting skills required to create and maintain interactive and dynamic web content, data validation, and management of CSS scripts using the Javascript language along with AJAX, jQuery, and other javascript extensions.

Lecture Hours 3

Department: Computer Technologies - COT

CSCI 214 Server-Side Web Prog & Admin. 3 Credits

Term Typically Offered: Fall

Prerequisite(s): CSCI 181 or consent of instructor.

3cr. Provides students with a working knowledge of the PHP Web Server language, including logic structures, control structures, include statements, database connectivity, registration forms, password encryption, and web server administration.

Lecture Hours 2, Lab Hours 2

Department: Computer Technologies - COT

CSCI 223 Software Development. 3 Credits

Term Typically Offered: Fall

Prerequisite(s): CSCI 100, CSCI 116, CSCI 240.

3cr. Examines standard methodologies for developing software and documenting that software. This course will instruct students how to model and diagram applications using Unified Modeling Language, how to decompose problems into base pieces, and how to manage projects. Technical topics will emphasize Version Control using Git and testing methodologies; students will use previously established skills in database development and Python to achieve objectives.

Lecture Hours 3

Department: Computer Technologies - COT

CSCI 232 Data Structures and Algorithms. 4 Credits

Computer language Java and software development will be used as the vehicles to introduce applet and its application to computer representations of various important concepts and their applications.

Lecture Hours 4

Department: Math/Comp Sci/Statistics

CSCI 240 Databases and SQL. 3 Credits

Term Typically Offered: Fall

3cr. Initiates the student into the art of designing and developing database applications. The class will focus on Structured Query Language, integration with SQLite, MySQL, and SQL Server platforms, deployment of such databases, and various maintenance and setup issues. Coursework relies heavily on hands-on projects and working within the MySQL Workbench client application.

Lecture Hours 3

Department: Computer Technologies - COT

CSCI 241 PL/SQL. 3 Credits

Term Typically Offered: Spring

Prerequisite(s): CAPP 158 or CSCI 240 or consent of instructor.

Provides students with experience in developing Oracle database applications, including an understanding of the general structure of PL/SQL statements, designing forms and reports, and understanding Oracle decision making and looping constructs.

Lecture Hours 3

Department: Computer Technologies - COT

CSCI 246 Discrete Structures. 4 Credits

Term Typically Offered: Fall

Prerequisite(s): M 171.

4cr. Covers logic, recursion, induction and basic data models. Surveys combinatorics and the theory of algorithms with attention to design analysis and verification techniques.

Lecture Hours 4

Department: Math/Comp Sci/Statistics

CSCI 258 Web Application Development. 3 Credits

Term Typically Offered: Spring

Prerequisite(s): CSCI 181 and CSCI 214.

Explores development of a more complex server-side application with development of a website and API. Students will use web-database integration, Laravel, PHP, and MySQL to create an application developed with the Model/View/Controller architecture.

Lecture Hours 2, Lab Hours 2

Department: Computer Technologies - COT

CSCI 260 Object Oriented Programming I. 3 Credits

Prerequisite(s): CAPP 131.

Familiarizes students with principles of Object-Oriented Programming. Includes Object-Oriented features in selected software packages; creating classes; object hierarchies and collections; Active X components; ADO objects. Juniors will complete a major programming project (Cross-listed with City College).

Lecture Hours 3

Department: College of Business-All Depts

CSCI 292 Independent Study. 1-6 Credits

Department: Computer Technologies - COT

CSCI 294 Seminar/Workshop. 0.5-5 Credits

Department: Computer Technologies - COT

CSCI 298 Cooperative Educ/Internship. 1-9 Credits

Department: Computer Technologies - COT

CSCI 299 Thesis/Capstone. 3 Credits

Term Typically Offered: Spring

3cr. Strives to grant students real-world experience by requiring that they create a fully functioning application that meets specified criteria. This course will cover most every aspect of programming from requirements gathering to design to actual coding and testing of the application.

Lecture Hours 1, Lab Hours 6

Department: Computer Technologies - COT

CSCI 346 Advanced Discrete Structures. 4 Credits

Term Typically Offered: Spring

Prerequisite(s): CSCI 246.

Discusses algorithm design in the context of graph theory. Introduces automata and formal languages. Covers logic, computability, artificial intelligence and robotics.

Lecture Hours 4

Department: Math/Comp Sci/Statistics

CSCI 360 Object Oriented Programming II. 3 Credits

Prerequisite(s): CAPP 131.

Familiarizes students with principles of Object-Oriented Programming. Includes Object-Oriented features in selected software packages; creating classes; object hierarchies and collections; Active X components; ADO objects. Juniors will complete a major programming project (Cross-listed with City College).

Lecture Hours 3

Department: College of Business-All Depts

CSCI 492 Independent Study. 1-4 Credits

Department: Math/Comp Sci/Statistics