Why Study Computer Science at IU Southeast?

Computer science is the chief discipline for teaching engineering principles and the tools used in software applications development. Training students in these principles and the use of software development tools is the primary goal of Computer Science at IU Southeast.

Why Study Image

What is Computer Science?

Computer Science is the chief discipline for teaching engineering principles and the tools used in software applications development. Training students in these principles and the use of software development tools is one of the primary goals of Computer Science at IU Southeast. A baccalaureate degree is offered in Computer Science. This program recognizes the need to provide the understanding and knowledge of computer science appropriate for the varied careers available. Students may choose to emphasize either Mathematics and Science, or Business and Information Systems in their in their study of Computer Science at IU Southeast.

Special Features

The demand for students trained in computer science is very high, both locally and nationally. Students are encouraged to take internship training with area businesses.

Bachelor of Science in Computer Science

Computer Science is the chief discipline for teaching engineering principles and the tools used in software applications development.  Training students in these principles and the use of software development tools is one of the primary goals of Computer Science at IU Southeast.  This program recognizes the need to provide the understanding and knowledge of computer science appropriate for the varied careers available.  Students may choose to emphasize either Mathematics and Science or Business and Information Systems in their study of Computer Science at IU Southeast.

Minor in Computer Science

The Computer Science minor requires a minimum of 20 credit hours in computer science courses.  Students choose 1 of 4 areas of concentration to individualize their minor.

Certificate in Information Technology

The Information Technology Certificate is a 27 credit hour program that can be completed in one year. Requirements of the program can be used to continue toward the Associate of Science or Bachelor of Science degrees.

Upon completing the certificate, students will be capable of understanding, troubleshooting, and managing computing resources as well as software design logistics and programming in one or more computer languages.

The advising information on this page is relevant directly to introductory courses. Please contact the Computer Science faculty for upper level course info.

Recommended Preparation

  • Mathematics including algebra
  • Writing
  • Computer skills

Prerequisites

Understanding Course Prerequisites
Prerequisite Courses that follow
**indicates the majority or all of the course is available online
C106
  • A201** - Programming the most popular language of industry, Visual Basic.
  • A211** - Word Processing Applications
  • A212** - Spreadsheet Applications
  • A213** - Database Applications
  • A221** - Multimedia Programming
  • A247 - Network Administration of a Microsoft server.
  • A290** - Understanding information systems in business, industry and society.
  • C201 - Computer programming for AS or BS computer science majors.
A201
  • A211** - Word Processing Applications
  • A212** - Spreadsheet Applications
  • A213** - Database Applications
  • A221** - Multimedia Programming
  • A247 - Network Administration of a Microsoft server.
  • A290** - Understanding information systems in business, industry and society.
  • C201 - Computer programming for AS or BS computer science majors.
A211
  • A201** - Programming the most popular language of industry, Visual Basic.
  • A212** - Spreadsheet Applications
  • A213** - Database Applications
  • A221** - Multimedia Programming
  • A247 - Network Administration of a Microsoft server.
  • A290** - Understanding information systems in business, industry and society.
  • C201 - Computer programming for AS or BS computer science majors.
A213
  • A201** - Programming the most popular language of industry, Visual Basic.
  • A211** - Word Processing Applications
  • A212** - Spreadsheet Applications
  • A221** - Multimedia Programming
  • A247 - Network Administration of a Microsoft server.
  • A290** - Understanding information systems in business, industry and society.
  • C201 - Computer programming for AS or BS computer science majors.
C201
  • A247 - Network Administration of a Microsoft server.
  • A290** - Understanding information systems in business, industry and society.
  • C202 - Advanced programming techniques for AS or BS computer science majors.
  • C251 - Mathematics for AS or BS computer science majors.
C202
  • A247 - Network Administration of a Microsoft server.
  • A290** - Understanding information systems in business, industry and society.
  • A346** - User Interface Programming - Focus on methods and skills needed in constructing a useable Web site. Class meets one hour per week in Summer I, remainder is online.
  • A348** - Mastery of the World Wide Web - Design and implementation of the server-side of current Web-based systems. Class meets one hour per week in Summer I, remainder is online.

Computer science is considered the fastest growing area for employment. Entry-level salaries range between $30,000 and $60,000. Most businesses and industries have computer-centered positions and the teaching of computer science in high schools and colleges is also greatly in demand.

Career Listings

  1. Indeed.com - Consolidated jobs listings and search.
  2. IU Southeast Career Development Center

Professional Organizations

  1. Association of Computer Machinery
  2. IEEE Computer Society
 

Resident

Faculty Bio Thumbnail
John F. Doyle
Associate Professor of Comp Sci
Coordinator of Computer Sciences
jfdoyle@ius.edu
Phone: (812) 941-2195
Office Location: LF 112
View Bio
Faculty Bio Thumbnail
Ronald B. Finkbine
Associate Professor of Computer Science
rfinkbin@ius.edu
Phone: (812) 941-2264
Office Location: LF 124
View Bio
Faculty Bio Thumbnail
Carolyn D. Granda
Lecturer of Computer Science
cgranda@ius.edu
Phone: (812) 941-2154
Office Location: LF 118
View Bio
Faculty Bio Thumbnail
Suranga Hettiarachchi
Assistant Professor of Computer Science
suhettia@ius.edu
Phone: (812) 941-2698
Office Location: LF 114
View Bio
Faculty Bio Thumbnail
Joseph E. Hollingsworth
Professor of Computer Science
jholly@ius.edu
Phone: (812) 941-2425
Office Location: LF 108
View Bio
Faculty Bio Thumbnail
Ghansham M. Manwani
Senior Lecturer of Computer Science
gmanwani@ius.edu
Phone: (812) 941-2678
Office Location: LF 116
View Bio
Faculty Bio Thumbnail
Chang O. (Chris) Sung
Associate Professor of Computer Science
cosung@ius.edu
Phone: (812) 941-2138
Office Location: LF 110
View Bio
Faculty Bio Thumbnail
Raymond F. Wisman
Associate Professor of Computer Science
rwisman@ius.edu
Phone: (812) 941-2465
Office Location: LF 122
View Bio

Visiting

Faculty Bio Thumbnail
Robert Walsh
Visiting Lecturer of Computer Science
bwalsh@ius.edu
Office Location: LF 161B
View Bio

CSCI-A 121 Cyberspace Influences on Privacy, Security and Society (3 cr.)
Examines the impacts of computerization in the United States. From family life, private organizations, and public organizations to government at all levels, computerization is affecting and creating the complex interdependencies between technology and social groups. We will survey recent changes to many topics, including intellectual property rights, e-government, online security, online privacy, digital currency, online gambling, universal access, online education, medical devices, and media convergence.

CSCI-A 201 Introduction to Programming (3 cr.)
P: MATH-M 117 Fundamental programming constructs, including loops, arrays, classes, and files. General problem-solving techniques. Emphasis on modular programming, user-interface design, and developing good programming style. Not intended for computer science majors or minors.

CSCI-A 211 Word Processing Applications (3 cr.)
P: CSCI-C 106 or EDUC-W 200. This course introduces the student to word processing techniques used in creating letters, forms, and reports. The student will use styles, outlines, tables, and field codes in documents and templates. Advanced topics include merging documents, customizing the Word environment, and integrating the features of Word with other software applications.

CSCI-A 212 Spreadsheet Applications (3 cr.)
P: CSCI-C 106 or EDUC-W 200. This course introduces the student to spreadsheet techniques used in creating professional-looking worksheets. Students will use formulas, functions, charts, graphs, and logical functions. Advanced topics include advanced filtering, importing data, creating pivot tables, database functions, and integrating Excel with other software applications.

CSCI-A 213 Database Applications (3 cr.)
P: CSCI-C 106 or EDUC-W 200. This course introduces the student to database techniques. The student will develop tables, custom forms, reports, and queries. Advanced topics include developing ASP pages for the World Wide Web, developing and understanding relationship database design, macros, managing, securing a database, and integrating Access with the Web and other programs.

CSCI-A 221 Multimedia Programming (1.5 cr.)
P: CSCI-C 106 or EDUC-W 200. This course introduces the student to creating dynamic Web pages. Emphasis is placed on problem-solving techniques using a Web-based programming language. Lecture and laboratory.

CSCI-A 247 Network Technologies and Administration (3 cr.)
P: CSCI-C 106 or EDUC-W 200. Introduction to network principles and current network technology, both hardware and software. Network administration tools and techniques. Laboratory provides practical experience.

CSCI-A 346 User-Interface Programming (3 cr.)
P: CSCI-C 202 or equivalent experience. Learn to prototype and build graphical user interfaces for computer applications. Contemporary software design methodology. Students design and implement prototype interfaces to applications provided by the instructor. Extensive use is made of both commercial and experimental software tools.

CSCI-A 348 Mastering the World Wide Web (3 cr.)
P: Two semesters of programming experience, or equivalent, and some knowledge of operating systems. Project-oriented course leading to ability to maintain a fully functional Web site. Topics include Internet network protocols and Web programming, server administration, protocols, site design, and searching and indexing technologies.

CSCI-B 438 Fundamentals of Computer Networks (3 cr.)
P: CSCI-C237. Theory and practice of data communications between computing devices. Topics include network architecture and topology, wide-area networks, local-area networks, and ISO network layers.

CSCI-B 461 Database Concepts (4 cr.)
P: CSCI-C 251, CSCI-C 335 and CSCI-C 343. Introduction to database concepts and systems. Topics include database models and systems: hierarchical, network, relational, and object-oriented; database design principles; structures for efficient data access; query languages and processing; database applications development; views; security; concurrency; recovery. Students participate in a project to design, implement, and a query a database, using a standard database system.

CSCI-B 481 Interactive Graphics (3 cr.)
P: CSCI-C 343, MATH-M 303. Computer graphics techniques. Introduction to graphics hardware and software. Two-dimensional graphics methods, transformations, and interactive methods. Three-dimensional graphics, transformations, viewing geometry, object modeling, and interactive manipulation methods. Basic lighting and shading. Video and animation methods. Credit given for only one of CSCI-B 481 and CSCI-B 581.

CSCI-B 490 Seminar in Computer Science (4 cr.)
Special topics in computer science. May be repeated for up to 6 credit hours.

CSCI-C 100 Computing Tools (1 cr.)
An introduction to computing applications useful in college and career work. Topics include microcomputer operating systems; word processing; spreadsheet, database, and communications software; and other software applications.

CSCI-C 105 Introduction to C Programming (3 cr.)
This course is an introduction to computer programming using C++. The emphasis is on structured programming principles, and understanding the basic concepts that apply to scientific and engineering problems. Among topics covered in this course are: problem solving using top down design, using flowcharts to explain the program logic, selection structure, repetition structure, bitwise operations, arrays, pointers, strings, passing arguments, and sequential files.

CSCI-C 106 Introduction to Computers and Their Use (3 cr.)
An introduction to computers and their use in information systems: use of standard application programs; foundations of information systems design and development; survey of programming languages. Satisfies the basic computer literacy requirement.

CSCI-C 201 Computer Programming II (4 cr.)
P: Two years of high school mathematics or MATH-M 014. Computer programming and algorithms. Basic programming and program structure. Computer solutions of problems. A computer language will be taught. Lecture and discussion. Business majors cannot receive credit for CSCI-C 201 and CSCI-C 101 or CSCI-C 106.

CSCI-C 202 Computer Programming (4 cr.)
P: CSCI-C 201. Computer programming, algorithms, program structure, arrays, stacks, queues, binary trees; procedures, functions, parameter-passing mechanisms, recursion vs. iteration, and issues of programming style. Computer solutions of problems such as data analysis, sorting, searching, and string and text manipulation.

CSCI-C 203 COBOL and File Processing (3 cr.)
P: CSCI-C 201. Computer programming and algorithms. Applications to large file processing functions of an organization.

CSCI-C 237 Operating Systems Concepts (4 cr.)
P: CSCI-C 202, CSCI-C 335. An investigation of the problems involved in the implementation of an operating system and some of the solutions. Topics such as multiprocessing, paging, interlocks, time-sharing, and scheduling. A specific operating system will be examined.

CSCI-C 251 Foundations of Digital Computing (4 cr.)
P: CSCI-C 201. R: MATH-M 119 or MATH-M 125. Boolean algebra and propositional logic. Set algebra, including mappings and relations. Elements of graph theory and statistical analysis. Application of all topics to computer programming.

CSCI-C 311 Programming Languages (4 cr.)
P: CSCI-C 202, CSCI-C 335. Systematic approach to programming languages. Relationships among languages, properties and features of languages, and the computer environment necessary to use languages. Lecture and laboratory.

CSCI-C 320 Advanced COBOL (3 cr.)
P: CSCI-C 203. A continuation and extension of COBOL as taught in CSCI-C 203. Extensive use will be made of structured COBOL in the development of large programs requiring access to various file structures. Includes interactive menu and screen-driven programming.

CSCI-C 335 Computer Structures (4 cr.)
P: CSCI-C 201. R: CSCI-C 202. Structure and internal operation of computers, stressing the architecture and assembly language programming of a specific computer. Additional topics include digital hardware and microprogramming. Lecture and laboratory.

CSCI-C 343 Data Structures (4 cr.)
P: CSCI-C 202, CSCI-C 251. Systematic study of data structures encountered in computing problems, structure and use of storage media, methods of representing structure data, techniques for operation on data structures. Lecture and laboratory.

CSCI-C 390 Individual Programming Laboratory (1-3 cr.)
P: CSCI-C 201. Before enrolling, a student must arrange for an instructor to supervise the activity. Student will design, program, verify, and document a special project assignment selected in consultation with the instructor. May be repeated up to a maximum of 6 credits.

CSCI-C 405 A Survey of Computer Science (3 cr.)
P: CSCI-C 343. A survey of senior-level topics in programming languages and operating systems for students pursuing a minor in computer science.

CSCI-C 421 Computer Organization (4 cr.)
P: CSCI-C 251, CSCI-C 335. Organization, circuits, and logic design of digital computing systems. Course deals with the internal structure of computers. Some simple computers are designed. Experiments in basic computer circuitry are performed in the laboratory. A knowledge of electronics, while useful, is not a requirement. Lecture and laboratory.

CSCI-C 422 Advanced Computer Organization (3 cr.)
P: CSCI-C 421 or equivalent. Basic computer hardware design problems. Alternative solutions illustrated by different computers.

CSCI-C 431 Assemblers and Compilers I (3 cr.)
P: CSCI-C 311, CSCI-C 335, and CSCI-C 343. Design and construction of assemblers, macroprocessors, linkers, loaders, and interpreters. Compiler design and construction, including lexical analysis, parsing, code generation, and optimization.

CSCI-C 432 Assemblers and Compilers II (3 cr.)
P: CSCI-C 311, CSCI-C 335, CSCI-C 343. Design and construction of assemblers, macroprocessors, linkers, loaders, and interpreters. Compiler design and construction, including lexical analysis, parsing, code generation, and optimization.

CSCI-C 435 Operating Systems I (3 cr.)
P: CSCI-C 311, CSCI-C 335, and CSCI-C 343. Organization and construction of computer systems that manage computational resources. Topics include specification and implementation of concurrency; process scheduling; storage management; device handlers; mechanisms for event coordination such as interruption, exclusion, and synchronization. Extensive laboratory exercises.

CSCI-C 436 Operating Systems II (3 cr.)
P: CSCI-C 311, CSCI-C 335, and CSCI-C 343. Organization and construction of computer systems that manage computational resources. Topics include specification and implementation of concurrency; process scheduling; storage management; device handlers; mechanisms for event coordination such as interruption, exclusion, and synchronization. Extensive laboratory exercises.

CSCI-C 445 Information Systems I (4 cr.)
P: CSCI-C 343. Analysis, design, and implementation of information systems from user needs to a running system. Hardware organization and its impact on storage structures. Structures and techniques for accessing and updating information: primary and secondary indices, sequential and multilinked files. Modeling of information using hierarchical, network, and relational techniques and operations with these models. Current database systems and query languages.

CSCI-C 446 Information Systems II (4 cr.)
P: CSCI-C 343. Analysis, design, and implementation of information systems from user needs to a running system. Hardware organization and its impact on storage structures. Structures and techniques for accessing and updating information: primary and secondary indices, sequential and multilinked files. Modeling of information using hierarchical, network, and relational techniques and operations with these models. Current database systems and query languages.

CSCI-C 451 Automata and Formal Grammars (3 cr.)
P: CSCI-C 251 or MATH-M 403. Finite automata and regular grammars; context-free grammars and nondeterministic pushdown automata; deterministic pushdown automata; unsolvable problems and algorithms for solvable problems related to these classes of machines and grammars.

CSCI-C 455 Analysis of Algorithms (4 cr.)
P: MATH-M 216 or MATH-M 120 and CSCI-C 343. Models, algorithms, recurrences, summations, growth rates. Probabilistic tools, upper and lower bounds; worst-case and average case analysis, amortized analysis, dynamization. Comparison-based algorithms: search, selection, sorting, hashing. Information extraction algorithms (graphs, databases). Graph algorithms: spanning trees, shortest paths, connectivity, depth-first search, breadth-first search.

CSCI-C 458 Intelligent Robots (4.0 cr.)
P: CSCI-C 343 and Consent of Instructor. This course presents a broad overview of robotics in practice and research with topics including: robot control, perception, localization, planning, mapping, navigation, learning, and swarm approaches. The course focuses on a hands-on approach to introducing the concepts in robotics, using autonomous mobile robots.

CSCI-C 463 Artificial Intelligence I (4 cr.)
P: CSCI-C 311 and CSCI-C 343. Historical roots, philosophical thesis, and goals of artificial intelligence research. Basic problem-solving methods. Heuristics and heuristic search. Game-playing programs. Reasoning and knowledge representation. Predicate calculus, semantic networks, frames, and other representation systems. Introduction to production systems. Goal-directed systems.

CSCI-C 464 Artificial Intelligence II (3 cr.)
P: CSCI-C 463. Advanced problem-solving techniques. Production systems continued. Programming languages for artificial intelligence systems. Natural-language understanding programs. Recognition and categorization. Artificial vision systems. Applications of artificial intelligence. Robotics.

CSCI-C 490 Seminar in Computer Science (1-3 cr.)
Special topics in computer science. May be repeated for a maximum of 6 credit hours.

CSCI-N 207 Data Analysis and Decision Making Using Spreadsheets (3 cr.)
P: MATH-M 107. Summary of basic computing topics. An introduction to data analysis using spreadsheets. Emphasis on the application of computational problem-solving techniques. Lecture and laboratory.

CSCI-N 211 Introduction to Databases (3 cr.)
Summary of basic computing topics. Introduction to database design concepts, creation of user forms, development of databases, querying techniques, and building reports. Focus on relational database systems from development and administration point of view. Lecture and laboratory.

CSCI-N 341 Introduction to Client-side Web Programming (3 cr.)
P: CSCI-C 201 or equivalent. Introduction to programming focusing on the client sided programming environment. Essential algorithm design, client-side programming using languages commonly embedded in Web browsers. Lecture and laboratory.

CSCI-N 342 Server-side Programming for the Web (3 cr.)
P: CSCI-C 201 or equivalent. Designing and building applications on a Web server. Focuses on issues of programming applied to Web servers. Emphasis on relational databases concepts, data design, languages used on the server, transaction handling, and integration of data into Web applications.

CSCI-P 423 Compilers (4 cr.)
P: CSCI-C 311. Compiler design and construction, including lexical analysis, parsing, code generation, and optimization. Extensive laboratory exercises.

CSCI-P 436 Introduction to Operating Systems (4 cr.)
P: CSCI-C 311, CSCI-C 335, CSCI-C 343, or honors equivalents. Organization and construction of computer systems that manage computational resources. Topics include specification and implementation of concurrency, process scheduling, storage management, device handlers, mechanisms for event coordination. Lecture and laboratory.

CSCI-P 465 Software Engineering for Information Systems I (3 cr.)
P: CSCI-C 335 or CSCI-C 343, or honors versions. P or C: CSCI-B 461. Analysis, design, and implementation of information systems. Project specification. Data modeling. Software design methodologies. Software quality assurance. Supervised team development of a real system for a real client. Credit given for only one of CSCI-P 465/466 or CSCI-C 445/446.

CSCI-P 466 Software Engineering for Information Systems II (3 cr.)
P: CSCI-C 334 or CSCI-C 343, or honors versions. P or C: CSCI-B 461. Analysis, design, and implementation of information systems. Project specification. Data modeling. Software design methodologies. Software quality assurance. Supervised team development of a real system for a real client. Credit given for only one of CSCI-P 465/466 or CSCI-C 445/446.

Microsoft Scholarship Program

Estimated Amount: Varies

Criteria: Students must be enrolled in a bachelor degree program at a college or university in the U.S., Canada, or Mexico at the time the application is submitted. Students must be enrolled full-time and making satisfactory progress toward an undergraduate degree in computer science, computer engineering or a related technical discipline, such as math or physics, with a demonstrated interest in computer science. The student must maintain a 3.0 cumulative Grade Point Average GPA.

Renewal Criteria: Must reapply

Applicant Contact: Microsoft Scholarships

Robotics Lab

Robotics Lab

IU Southeast Autonomous Robotics Laboratory develops novel control algorithms for autonomous mobile robots. Our primary focus is swarm-robotics navigation for real world applications.

Engineering swarm robotics systems is difficult due to numerous constraints, such as noise, limited range of interaction with other robots, delayed feedback, and the distributed autonomy of the robots. One potential solution is to automate the design of multi-robot systems in simulation, using evolutionary algorithms(EA). In this paradigm, the EA evolves the behaviors of the robots (and their local interactions), such that the global task behavior emerges. A global observer monitors the collective and provides a measure of performance to the individual robots. Robot behaviors that lead to desirable global behavior are hence rewarded, and the collective system is gradually evolved to provide optimal global performance.

There are several difficulties with above approach. First, a global observer may not exist. Second, some (but not all) robots may experience some form of reward for achieving task behavior, while others do not. Third, this reward may be delayed, or may be noisy. Fourth, the above paradigm works well in simulation (offline) but is not feasible for real-world online applications where unexpected events occur. Finally, the above paradigm may have difficulty evolving different individual behaviors for different robots (heterogeneity vs homogeneity).

Since our interests lie at the intersection of complex adaptive systems such as evolutionary algorithms and swarm robotic approaches, our work has concentrated on developing fast algorithms for multi-robot systems where a large number of robots interact in unknown environments to accomplish a desired goal without global controllers.

Current Members:
  • Dr. Suranga Hettiarachchi
  • Jesse Riddle
  • Jeramey Tyler
  • Alan Lafoon
  • Austin Hall
  • Andrei Escartin
  • Matthew Rayner
  • Sage Kleczynski
  • Erik George
Alumnus:
  • Brian Wimpsett
  • Michael Francis
  • Nicholas Phillips
  • Colton Jenkins
  • Ryan Hughes
  • Nathaniel Biefeld
Research Projects (Current and Completed):

Predictability of Swarm Distribution in Partially Observable Environments: The project analyzes and predicts the required degree of distribution of a swarm in partially observable environments for effective navigation.

Improving Digit Recognition: Design and implement adaptive solutions based on evolutionary and neural network approaches for digit recognition problem. Use neuro-evolutionary optimization to recognize hand written digits.

Object Classification: Distinguishing and Characterizing Objects in An Environment Through Sensor Modalities Using Bayesian Methods. The goal of the project is to provide an autonomously navigating robot the ability to identify various objects with a high probability of correctness, and if that is not possible, then to be able to approximate a best guess as to what that object could be (along with the corresponding probability of correctness)

Game Playing: Using AP-Lite to Implement Pac-Man Game. The goal of the game is simple: collect all the pellets without getting hit by the ghosts. The ghosts try to chase you down, which makes it a race to see who can finish their goal first. This makes an interesting project to implement in real life with robots because it involves multi-robot systems, goal seeking, odometry, and obstacle avoidance.

Neural-Network based minesweepers: Use neuro-evolutionary approaches to produce an optimized solution to minesweeper problem. The minesweepers move on a 2D grid environment looking for mines. The NN in each of the minesweeper takes in the current direction the minesweeper is heading and outputs the optimal force required to turn towards a mine.

Exploration of Disaster Sites Using Autonomous Robots: Goal of the project is to efficiently survey an assigned area for any trace of human life while avoiding obstacles. The robot accomplishes the search task using a combination of pyroelectric human sensors and ultrasonic range sensors. The robot navigation is accomplished using heuristic based algorithms and Physicomimetics.

A user friendly software framework for mobile robot control: Design and develop a Java based software architecture for robotic algorithm implementation.

Publications and Presentations:

A complete list of publications and presentations can be found at Dr. Suranga Hettiarachchi's Homepage

VISITING SCIENTISTS

NATURAL SCIENCES CONTACT INFORMATION