Computer Science/Programming (CSCI)

CSCI 110. Programming w/Visual Basic I. 3 Credits.

This course is an introduction to computer programming and problem solving techniques. Stresses modularity and structured techniques. Structured program design using design tools is heavily stressed. Programming structures including looping, sequence, and decision are thoroughly examined. Students will be exposed to the BASIC programming language with an overview of the language and specific implementation examples. Prerequisite: Basic Computer Skills Formerly CIS 115.

CSCI 111. Programming with Java I. 3 Credits.

This course focuses on intermediate computer program design and development using structured techniques. Includes small project development. Stresses modularity, program design, implementation, and testing. Object oriented programming/object oriented design (OOP/OOD) techniques will be utilized. Prerequisite: Basic Computer Skills Formerly CIS 155.

CSCI 201. Java/Experienced Programmers. 3 Credits.

This is an advanced object oriented programming and application development course using Java, a continuation of CSCI 111. This course will expand the student's knowledge of object oriented programming to include graphical user interface development utilizing programming language libraries. Advanced computer programming topics including arrays and mathematical topics including matrix multiplication and basic trigonometric functions used in graphics programming will be covered. Prerequisite: CSCI 111. Formerly CIS 350 or ISET 350.

CSCI 221. System Analysis and Design. 3 Credits.

This is a study of the systematic analysis and design of computer software using case tools, data flow analysis, culminating in a complete system design. Prerequisites: CAPP 120 or equivalent competencies, CAPP 158. Formerly CIS 270.

CSCI 232. Data Structures and Algorithms. 3 Credits.

This is an advanced programming techniques course and a survey of fundamental data structures. It covers pointers, arrays, user defined data structures, abstract data types, time-space complexity, algorithm proofs, program testing, and operating system interactions. Computability and intractable problems are discussed. Object oriented programming and object oriented design techniques will be utilized. Prerequisite: CSCI 111. Formerly CIS 355 or ISET 355.

CSCI 292. Independent Study. 1-12 Credits.

CSCI 298. Cooperative Education. 1-12 Credits.

A planned and supervised work-learning experience in industry, business, government, or community service agencies related to the University program of study. Prerequisites: two semesters of attendance at Montana State University-Northern, approval of advisor, Dean of the College of Technical Sciences, and cooperative education coordinator. Pass/Fail only. Formerly CIS 279.

CSCI 340. Database Design. 3 Credits.

In this course, the Oracle database server will be used for application creation including analysis, design, implementation, and testing of large scale, enterprise database oriented projects. It covers advanced database concepts including relational databases, client-server applications and Oracle Database Administration. Formerly CIS 371 or ISET 371.

CSCI 361. Computer Architecture. 3 Credits.

This course provides an advanced study of selected digital systems. Topics will include digital design and fabrication using ASIC, CPLD, FPLD devices as well as other programmable digital logic with emphasis on fabrication of a complete digital system. Other topics will include sensors, analog to digital conversion, digital to analog conversion, data logging, and telemetry systems. Prerequisite: ITS 310 or equivalent. Formerly CIS 361 or ISET 361.

CSCI 392. Independent Study. 1-12 Credits.

CSCI 411. Advanced Web Programming. 3 Credits.

This course applies WWW and internet presentation and programming techniques for providing quality information content on internet and in house networks, including dynamic information generation and dissemination through the use of interactive database links, client-server connections, and distributed software architectures. Prerequisites: CSCI 111 and CAPP 158. Formerly CIS 455 or ISET 455.

CSCI 460. Operating Systems. 3 Credits.

Introduction to the basic principles of how operating systems function. Concepts cover single user operating systems and multi-user operating systems including the programming requirements and considerations under each. Prerequisites: CSCI 111 Formerly CIS 300 or ISET 300.

CSCI 476. Computer Security. 3 Credits.

This course will continue on the network course. It will include using routers. The students will see why and when to use routers and they will hook them up in the lab. It will provide a basic overview of routing. Security policy will be covered including common threats and attacks and the technologies that can address network security issues. It also covers installation, configuration and basic troubleshooting of security solutions. Students will be required to successfully install and configure equipment in a pre-determined lab environment. Pre-requisite: Junior/Senior status in CIS, EET; completion of CSCI 460 and ITS 360 or similar courses. Formerly ISET 335.

CSCI 492. Independent Study. 12 Credits.

CSCI 498. Cooperative Education. 1-12 Credits.

A planned and supervised work-learning experience in education, business, government, or community service agencies related to the University program of study. Prerequisites: CSCI 298 or Junior standing and approval of advisor, Dean of the College of Technical Science, and cooperative education coordinator. Pass/Fail only. Formerly CIS 479 or ISET 479.

CSCI 499. Senior Thesis/Capstone. 3 Credits.

Intensive Capstone Project requiring integration of knowledge and skills learned. This course should be taken in the last semester of attendance and requires completion of most of the student's degree program before entrance. Formerly CIS 471 or ISET 471.