College of Arts and Sciences
Departments
Computer Information Systems (CIS)
Computer Science Courses
- CSCI-A 103 Microcomputer Applications: Word Processing (1 cr.) P: Placement by CSCI-A 106 placement test Word processing portion of CSCI-A 106. To be taught concurrently with CSCI-A 106. Lecture and laboratory. Credit not given for both CSCI-A 103 and (CSCI-A 106 or CSCI-A 200) and BUS-K 201.
- CSCI-A 104 Microcomputer Applications: Spreadsheets (1 cr.) P: Placement by CSCI-A 106 placement test Spreadsheet portion of CSCI-A 106. C: CSCI-A 106. Lecture and laboratory. Credit not given for both CSCI-A 104 and (CSCI-A 106 or CSCI-A 200) and BUS-K 201.
- CSCI-A 105 Microcomputer Applications: Databases (1 cr.) P: Placement by CSCI-A 106 placement test Relational database portion of CSCI-A 106. To be taught concurrently with CSCI-A 106. Lecture and laboratory. Credit not given for both CSCI-A 105 and (CSCI-A 106 or CSCI-A 200) and BUS-K 201.
- CSCI-A 106 Introduction to Computing (3 cr.) The use of computers in everyday activities. How computers work; use of packaged programs for word processing, spreadsheets, file management, communication, graphics, etc. Lecture and laboratory. No credit given for both CSCI-A 106 and BUS-K 201. (Fall, Spring, Summer)
- CSCI-A 201 Introduction to Computers and Programming (4 cr.) P: CSCI-C 150, or MATH-M 100 or higher, or consent of instructor Emphasis on modular programming, user-interface design, and documentation principles. (Fall)
- CSCI-A 210 Introduction to Visual Basic Programming (4 cr.) P: CSCI-C 150, or MATH-M 100 or higher. Introduction to business application programming. Students learn the skills necessary to design and implement programs and program interfaces using rapid application development techniques and visual development tools such as Visual Basic. (Fall)
- CSCI-A 213 Database Applications (3 cr.) P: CSCI-A106. 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 WWW, developing and understanding relationship database design, macros, securing a database, integrating Access with the web and other programs.
- CSCI-A 247 Network Technologies and Administration (3 cr.) P: CSCI-C 106 or consent of instructor Introduction to network principles and current network technology, both hardware and software. Network administration tools and techniques. Laboratory exercises provide practical experience. (Spring)
- CSCI-A 251 Introduction to Digital Imaging Applications (3 cr.) P: CSCI-A 106. An introduction to digital imaging software applications such as Adobe Photoshop and Illustrator. Students will learn the technical skills necessary to use such digital imaging software, primarily for the use of Office applications and Web development. (once a year)
- CSCI-A 285 Advanced Microcomputer Applications (3 cr.) P: CSCI-A 106. Introduces and applies advanced features of microcomputer applications packages such as word processors, spreadsheets, graphic presentation software, etc. Emphasis is put on the movement of data among various software packages and on the creation and use of macros, styles, and scripts. (Fall, Spring, Summer)
- CSCI-A 302 Object-Oriented Programming Techniques (4 cr.) P: CSCI-A 201. Advanced programming techniques: user-oriented functions and types, recursion versus iteration, parameter-passing mechanisms. Abstract data types: stacks, queues, linked lists, trees, hash tables. Algorithmic solutions to standard problems of searching, sorting, string matching, space-time complexity. Continued emphasis on programming styles issues. Object-oriented programming. Credit cannot be given for both CSCI-A 302 and INFO-I 211 except with permission. (Spring)
- CSCI-A 340 An Introduction to Web Programming (3 cr.) P: CSCI-A 348. An introduction to programming Web documents, including HTML, JavaScript, and Perl. Creation of a simple Web site, including a home page with dynamic elements, using both client-side and server-side techniques. (Fall)
- CSCI-A 346 User Interface Programming (3 cr.) P: CSCI-A 210, or consent of instructor Learn to prototype and build graphical user interfaces for computer applications, using contemporary software design methodology. Students design and implement prototype interfaces to applications provided by the instructor. Extensive use of both commercial and experimental software tools. (Spring)
- CSCI-A 347 Computer and Network Security Essentials (3 cr.) The computing security problem. Threats, vulnerabilities, exploits, defenses, and countermeasures. Firewalls and TCP/IP services. Information and risk. Implementing security policies and practices. Disaster planning, prevention, and recovery operations. Legal, ethical and privacy issues. (Spring, Fall, alternate years)
- CSCI-A 348 Mastering the World Wide Web (3 cr.) P: CSCI-A 106. Project-oriented course leading to the 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. (Fall, Spring, Summer)
- CSCI-A 447 Advanced Networking Systems and Administration (3 cr.) P: CSCI-A 247 or CSCI-C 106. This course provides a comprehensive study of LAN communication protocols. The Open Systems Interconnect (OSI) model, client/server operating system architectures, basic security services, and systems administration concepts. Students design, construct, administer a LAN using a popular network operating system. (Spring)
- CSCI-C 106 Introduction to Computers and Their Use (3 cr.) An introduction to computers and data processing. Includes the historical and current status of data processing and electronic digital computers; a survey of computer applications; foundations of computer programming; survey of programming languages. Credit cannot be given for both CSCI-C 106 and INFO-I 101. (Fall, Spring, Summer I)
- CSCI-C 150 Procedures and Problem Solving (3 cr.) P: MATH-M 117 or higher. A systematic examination of problem perception and problem-solving techniques with an emphasis on data processing and information systems applications. Includes the study of structured methodologies and various heuristic and algorithmic procedures. By providing training in problem solving independent of a programming language, the student will be better prepared to use these skills in programming and computer applications classes that assume their mastery. (Spring, Summer)
- CSCI-C 201 Computer Programming II (4 cr.) P: CSCI-C 150 and MATH-M 100 or higher Computer programming, algorithm, and program structure. Computer solutions to problems. FORTRAN or Java will be the vehicle for program development. Lecture and discussion. Credit will not be given for both CSCI-C 201 and CSCI-A 201 or CSCI-C 203 or INFO-I 210, except by permission of the department. (Fall)
- CSCI-C 203 COBOL and File Processing (4 cr.) P: CSCI-C 106 and CSCI-C 150. Computer programming and algorithms. Application to large file processing functions of an organization. Credit not given for both CSCI-C 203 and CSCI-C 201, or for both CSCI-C 203 and CSCI-C 303, except by permission of the department. (Occasionally)
- CSCI-C 297 Sophomore Topics in Computer Sciences (3 cr.) P: CSCI A106 or CSCI C106. Selected topics in computer science appropriate to the student in or nearing the end of the sophomore year. Course may cover a topic selected from but not limited to the following list: programming languages, computer graphics, artificial intelligence, ethics in data processing, and database systems. May be repeated for no more than 9 credit hours. (Occasionally)
- CSCI-C 307 Applied Programming Techniques (3 cr.) P: CSCI-C 201 Programming techniques: data analysis, sorting and searching, use of tape and disk files, string and text manipulation. Credit cannot be given for both CSI-C 307 and INFO-I 211, except by permission. (Spring)
- CSCI-C 311 Programming Languages (4 cr.) P: CSCI-A 302 or CSCI-C 307 or CSCI-C 320 or CSCI-A 346 Systematic approach to programming languages. Relationships among languages, properties and features of language, and the computer environment necessary to use languages. Lecture and laboratory. (Occasionally)
- CSCI-C 320 Advanced COBOL (3 cr.) P: CSCI-C 203 A continuation and extension of COBOL syntax 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. (Occasionally)
- CSCI-C 330 Object-oriented Systems Analysis and Design (3 cr.) P: CSCI-A 106 and CSCI-C 106. This course is an introduction to object-oriented analysis and design. The course covers the foundations, methods and phases of object-oriented analysis and design in developing an information system. Building an information system requires requirements collection, behavioral modeling and dynamic interactions in the system. A major goal of this course is to teach core concepts, modeling methods, UML diagrams and major phases of analysis and design. The topics to be introduced include methodology, object orientation, requirements collection, domain analysis, use case modeling, structural modeling and database modeling. (Fall)
- CSCI-C 343 Data Structures (4 cr.) P: CSCI-A 302 or CSCI-C 307 or CSCI-C 320 or CSCI-A 346 Systematic study of data structures encountered in computing problems; structure and use of storage media; methods of representing structured data; and techniques for operating on data structures. Lectures and laboratory. (Occasionally)
- CSCI-C 390 Individual Programming Laboratory (1-3 cr.) P: CSCI-A 302 or CSCI-C 307 or CSCI-C 320 or CSCI-A 346 Students will design, program, verify, and document a special project assignment selected in consultation with an instructor. This course may be taken several times up to a maximum of 6 credits. Prior to enrolling, students must arrange for an instructor to supervise their course activity. (Fall, Spring, Summer I, Summer II)
- CSCI-C 410 Simulation and Modeling (3 cr.) P: Two semesters of programming and one semester of statistics or permission of instructor. Construction of various types of computer science models and simulations, including scheduling and forecasting, queuing, and process control. (Occasionally)
- CSCI-C 430 Object-Oriented Systems Analysis and Design II (3 cr.) P: CSCI-C 330 and one semester of programming. This course is the second class for object-oriented systems analysis and design. The course covers advanced topics in object-oriented systems analysis and design. The topics to be introduced include dynamic modeling, design patterns and factory method, the user interface, components and reuse, database modeling and implementation. In combination with software development tools, students will apply, in course projects, these design methods and skills to design an information system and implement important functions in the system. (Spring)
- CSCI-C 442 Database Systems (3 cr.) P: CSCI-C 330. This course covers the fundamentals of database design and management focusing on the relational database model. Students will acquire the knowledge of database application technology; write queries by Structured Query Language (SQL); design tables via normalization; data modeling with the entity-relationship model; transform data models into a rational model. Students will learn database administration and manage multiusers in DBMS. Students will learn one popular Database Management System (DBMS) and learn Data Definition Language (DDL) for database relations. Students will also develop a database application and manage a remote database via the application. (Spring)
- CSCI-C 445 Information Systems Design (3 cr.) P: CSCI-C 343. Concepts, theory, and practice in systems design and analysis with particular attention to current database methods and control. (Occasionally)
- CSCI-C 446 Information Systems Development (3 cr.) P: CSCI-C 445 or consent of instructor Analysis and implementation of information systems. Hardware organization and the relationship to software constructs such as sequential versus direct access, coding and indexing strategies, inverted files, rings, trees, and multilinked structures. (Occasionally)
- CSCI-Y 398 Internship in Professional Practice (1-6 cr.) P: sophomore standing; approval of major department. Designed to provide opportunities for students to receive credit for selected, career related, full-time or part-time work. Evaluation by employer and faculty sponsors. May be repeated for a maximum of 6 credit hours. (Fall, Spring, Summer)
- CSCI-B 565 Data Mining (3 cr.) Algorithimic and practical aspects of discovering patterns and relationships in large databases. The course also provides hands-on experience in data analysis, clustering and prediction. Topics include: data preprocessing and exploration, data warehousing, association rule minig, classification and regression, clustering, anomaly detection, human factors and social issues in data mining.
- CSCI-A 605 Advanced Web Page Development (3 cr.) P: CSCI-A348. CSCI-A 340 recommended. This class takes a deeper look at webpage development, focusing on the user experience in order to create responsive, fluid websites that adapt to different device sizes and behaviors. The course will include more details on HTML5 forms, CSS3, and jQuery. In addition, students will explore using JavaScript to create drawings and animations applied to HTML5.
- CSCI-B 649 Topics in Systems (3 cr.) Content depends on topic.
- CSCI-P 532 Object-oriented software development (3 cr.) P: CSCI-C 307 or other advanced programming courses. This course will help turn motivated students into superior contributors to any small- to mid-sized commercial or open-source software project. It takes a hands-on, learn-by-doing approach. Students are introduced to design patterns, tools, and teamwork strategies from teh first assignment to the last project.
- CSCI-C 504 Data analysis using R (3 cr.) This course will teach programming in R and methods of using R for data analysis. The course covers fundamentals of R programming, importing and managing data, data manipulation, descriptive statistics, data visualization, clustering, simulation and regression and classification. The format of the class will be lectures by instructor, projects to be submitted, presentation of projects, and class discussions. Some basic knowledge of programming and statistics is a prerequisite for this course.
- CSCI-Y 790 Graduate Independent Study (1-6. cr.) Independent study under the direction of a faculty member, culminating in a written report.
- CSCI-B 551 Elements of Artificial Intelligence (3 cr.) P: CSCI-C 307 or other advanced programming courses. Introduction to major issues and approaches in artificial intelligence. Principles of reactive, goal-based, and utility-based agents. Problem-solving and search. Knowledge representation and design of representational vocabularies. Inference and theorem proving, reasoning under uncertainity, planning. Overview of machine learning.
- CSCI-F 116 First Year Seminar in Computer Information Systems (3 cr.) This class is an introduction to life at IU Northwest, the value of a college degree, and success as a college student. In this class, you will explore colorful topics, have discussions with your instructor and your fellow students, conduct research, and present your findings both to your class and to a wider community. You will spend time reflecting on what you have learned and how you can apply it in your future career at IUN. In this class you will explore computer science and IT related topics that are needed for day to day life in this informatoin technology world (Fall, Spring).
- CSCI-A 590 Topics in Programming (1-3 cr.) Eight-week to sixteen-week course designed to provide foundations for using modern programming tools for applications and web development.
- CSCI-B 561 Advanced Database Concepts (3 cr.) Database models and systems: especially relational and object-oriented; relational database design theory; structures for efficient data access; query languages and processing; database applications development; views. Transaction management: concurrency and recovery.
- CSCI-C 605 Advanced Web Page Development (3 cr.) P: CSCI-A348(Required). CSCI-A340(Recommended). This class is an advanced web page development, focusing on User Experience to create responsive, fluid websites that adapt to different device size and behaviors. The course will include more details on HTML5 forms, CSS3, JavaScript and jQuery.
- CSCI-C 606 Unix/Linux Administration (3 cr.) P: Consent of instructor. This course provides a comprehensive study of Local Area Networks (LANs), LAN technologies, Layered TCP/IP architecture, Switching, Internet addressing, routing protocols, congestion control and Applications (DNS, HTTP, peer-to-peer networks). Students will design, construct, and administer a LAN using a popular network operating system (Linux).