CSCI 109 Introduction to Programming Lab

[formerly CST 244 Introduction to Programming Lab Companion Course]

2 cr.  (4 lab/wk)  Corequisite:  CSCI 100.

Applies and practices the concepts learned in CSCI 100 through the use of exercises and case problems.


CSCI 111B Programming with Java I

[formerly CST 220 Applied Introduction to Java]

4 cr.  (3 lec/2 lab/wk)  Prerequisite:  CAPP 120.

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.


CSCI 113 Programming with C++ I

3 cr.  (2 lec/2 lab/wk)  (Sp)

Provides students with understanding of the logical structures, control structures, functions, arrays, points, and pointers in the C++ language.  Students will also apply the principles of object-based programming in the development of C++ programs.  In addition, students will learn how to interface external data logging devices to acquire, store, and manipulate data in C++ programs.


CSCI 114 Programming with C#

3 cr.  (2 lec/2 lab/wk)  Prerequisite:  Instructor approval.  (Sp)

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.


CSCI 116 Introduction to Python Programming

3 cr.  (2 lec/2 lab/wk)  (F)

Provides instruction for students in a scripting language that is being used to work with major application such as network applications, robotics, machine interfaces, geographic information systems, and document imaging.


CSCI 121 Programming with Java II

[formerly CST 221 Applied Intermediate Java]

4 cr.  (3 lec/2 lab/wk)  Prerequisite:  CSCI 111B or consent of instructor.

Consolidates students’ knowledge concerning Java and then proceeds into more advanced areas.  The course begins with a rapid review of concepts covered in CSCI 111B, then dives into more advanced subjects such as Swing, Java Database Connectivity (JDBC), Java Server Pages (JSP), Sevlets, Advanced Collections, Networking, and Java Utilities.


CSCI 124 Advanced C#/.NET

3 cr.  (2 lec/2 lab/wk)  Prerequisite:  CSCI 114 or consent of instructor.  (Sp)

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.

CSCI 181 Web Design & Programming

[formerly CMP 135 Introduction to Web Design]

3 cr.  (3 lec/wk)

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.


CSCI 211 Client Side Programming

[formerly CMP 235 Advanced Web Design and Development]

3 cr.  (3 lec/wk)  Prerequisite:  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.


CSCI 214 Server-Side Web Programming & Administration

3 cr.  (2 lec/2 lab/wk)  Prerequisite:  CSCI 181 or consent of instructor.  (Sp)

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.


CSCI 223 Software Development

[formerly CST 231 Software Development and Documentation]

3 cr.  (3 lec/wk)

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.  Further, the course will also focus on maintaining solid documentation of any program developed.


CSCI 240 Databases and SQL

[formerly CST 233 Deploying Databases with Microsoft SQL Server]

3 cr.  (2 lec/2 lab/wk)  Prerequisite:  CAPP 158 or CSCI 114 or CSCI 116 or NTS 104 or consent of instructor.

Initiates the student into the art of deploying database applications.  The class will focus on designing and creating databases, Structured Query Language, integration with Visual Basic .NET applications, deployment of such databases, and various maintenance and setup issues.  Coursework relies heavily on hands-on projects and working within the SQL Server and Visual Basic .NET environments.



3 cr.  (2 lec/2 lab/wk)  Prerequisites:  CAPP 158 or CSCI 240 or consent of instructor.  (Sp)

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.


CSCI 299 Thesis/Capstone

[formerly CST 211 Programming Capstone Project]

3 cr.  (1 lec/4 lab/wk)

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.

Ñ - This symbol denotes courses offered in an online format in addition to classroom instruction.
* These courses may only be available on the MSU Billings University Campus.