Bachelor Degree Courses

OIT home > Academics > Course Descriptions

Olivet Institute of Information Technology

Olivet Institute of Technology (OIT) strives to equip believers with a sound Biblical higher education, as well as cutting-edge knowledge and professional skills in the field of information technology. Students who graduate from the Information Technology Program are prepared to work in ministry environments that will enhance the ability of the Christian community to harness the power of information technology.

Program Objectives

The Bachelor's in Information Technology degree program is designed to equip ministry-bound men and women with a Biblical postsecondary education that incorporates an understanding of information technology necessary for professional ministry service in a new era of networks.

Bachelor of Arts in Information Technology Objectives

In the context of Olivet University's mission, The Bachelor's in Information Technology degree program strives to enable students to:

  • Understand computer system components and their integration.
  • Exercise creative and analytical thinking skills that provide a basis for technological problem solving.
  • Demonstrate the ability to integrate systems for the purpose of facilitating communications with each other.
  • Demonstrate the ability to apply knowledge, manage projects and work effectively in diverse teams.
  • Value and seek mission-related opportunities for the application of new and developing technologies.

Bachelor of Art in Information Technology Course Descriptions

Core Courses in Computer Science and Information Technology

IT100 Programming Methodology (4)
Programming Methodology is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.

IT110 Programming Fundamentals and Data Structures (4)
This course introduces the basic concepts of computer development and programming applications with various data structures and algorithms. Topics include problem-solving techniques, program design, control structures, data structures, algorithms, logics, and program development. Basics of C++, or C, will be introduced in the course.

IT120 Computer Organization and Systems (4)
Introduction To Computing, Software, Hardware, Processor Activities, State Machine, Data Path Architecture, State Machine Design, Addressing Modes, Introduction to memory system, CPU - Memory Interaction, Cache Organization, Virtual Memory, Segmentation, Address Translation and Protection, DMA: Direct Memory Access, Programmed I/O, Interrupt Driven I/O, I/O devices and buses.

Courses in Networking and Data Communications Concentration

NS100 Network Concepts and Foundations (4)
This course introduces the concept of layering and functions of seven layers in computer networks; Topics include OSI seven layers, data transmission, error and link control, MAC protocols, TCP/IP, and ATM.

NS300 An Introduction to Internet Programming (4)
Prerequisite: NS100
This course introduces fundamentals of application programming on the Internet. Topics include general client/server programming, socket programming, Internet and intranet programming, and Web applications.

NS310 Computer Networks and Security (4)
Prerequisite: NS100
This course studies the implementation of real networks, the preventive security measures, and the analysis of an existing network environment in consideration of security threats or risks. Topics include encryptions, auditing login, authentication, firewalls, Virtual Private Networks (VPN), forensics tools, procedures used for investigation of computers and networks.

Courses in Web Technologies Concentration

WE300 Web Site Technologies and Development (4)
Prerequisite: IT100 and IT110
This course introduces the technique on the creation of original client-side scripts using JavaScript to make Web pages interactive. The course also introduces the technique on the creation of dynamic HTML elements to make Web pages dynamic, including properties, methods, event handlers, and structured graphic controls of the Dynamic Object Model.

WE310 Web Client Side Design and Development (4)
Prerequisite: WE300
The Client-Side programming course consists of three parts spanning basic web design and front-end web development through complex user interface management and creation of a professional website. You will learn the core technical skills necessary for a complete and practical understanding of front-end web development, from HTML and CSS to the JavaScript DOM and AJAX.

WE320 Web Server Side Design and Development (4)
Prerequisite: WE300
In this course students will learn the basics of writing this type of application using the Ruby on Rails framework. We will focus on the work that needs to be done on the server side to dynamically generate webpages, store data long-term in a database, and process requests from the client side. In addition, students will become familiar with one architecture for large-scale user-facing applications: the model-view-controller design pattern. By the end of the course, students will be able to design and develop their own modern web applications.

Courses in Software Engineering Concentration

SE200 Introduction to Object-Oriented Programming (4)
Prerequisite: IT100 and IT 110
This course introduces object-oriented programming, using object-oriented techniques and Java language. Classes, overloading, information hiding, polymorphism, inheritance, and overriding will be described.

SE300 Software Engineering (4)
Prerequisite: SE200
This course introduces software life cycle model, software development environment, project management, software requirements and specifications, software design and architecture, and software maintenance.

SE310 IOS Programming (4)
Prerequisite: SE200
In this course you'll learn the basics of creating original apps for iPhone, iPod touch, and iPad using Xcode, the Objective-C language, and Cocoa Touch with the iOS SDK.

SE320 Android Programming (4)
Prerequisite: SE200 and NS100
Lecture will go over the key ideas and examples for building Android programs, leading to a programming exercise on the same material. The exercises should not be too hard, just giving you chance to apply what you just saw. Topics: Getting started: SDK, tooling, debugging, the emulator; Basic Program: activities, layouts, widgets, listeners, menu commands, intents, multiple views, built-in animations, simple persistence; Animation Program and Network Program.

Other Courses

IT310 Statistical Computing with R Laboratory (4)
Prerequisite: IT100 and MH310
Introduces the R programming language for statistical computing. Topics include basic facilities of R including mathematical, graphical, and probability functions, building simulations, introductory data fitting and machine learning. Provides exposure to the functional programming paradigm.

IT320 Fundamentals of Computer Vision (4)
Prerequisite: IT100 and IT110
This course will provide an advanced introduction to computer vision while emphasizing basic techniques from numerical analysis and applied mathematics (linear algebra, probability and statistics, optimization).

IT330 Introduction to Natural Language Processing (4)
Prerequisite: IT100 and IT110
A computationally-oriented introduction to natural language processing, the goal of which is to enable computers to use human languages as input, output, or both. Possible topics include parsing, grammar induction, information retrieval, and machine translation. Topics to be Covered: Introduction to NLP, History and state-of-the-art, Lexical semantics and word-sense disambiguation, Information retrieval models, Text categorization, Part-of-speech tagging and HMMs, Morphology.

IT460 Seminar (2)
Prerequisite: approval from program director
This course will present current technology in the Computer Systems and Information Technology fields. Students can repeat this course up to 4 units.

IT 470 Special Topics (4)
Prerequisite: Permission from the instructor and/or the program director
The course will present special topics in the Computer Systems and Information Technology fields.

IT 480 Independent Study (4)
Prerequisite: Permission from the program director, and the Dean
In this course, students can do independent research under the supervision of the faculty. Students can repeat the course once up to 8 units.

MH100 Calculus
Calculus is a transition course to upper-division mathematics and computer science courses. Students will extend their experience with functions as they study the fundamental concepts of calculus: limiting behaviors, difference quotients and the derivative, Riemann sums and the definite integral, antiderivatives and indefinite integrals, and the Fundamental Theorem of Calculus.

MH310 Mathematical Foundations of Computing
MH310 is a course designed to teach you the mathematical foundations of computation, along with the techniques necessary to reason about structures that appear throughout computer science. Accordingly, the assignments in this course are designed to give you the chance to play around with the material and sharpen your skills with mathematical proofs, computability theory, and complexity theory.