IU Bulletins HomeBloomington CampusIndianapolis Campusred
Indiana University

Search School of Informatics and Computing Undergraduate 2008-2010 Online Bulletin

Request School of Informatics and Computing Graduate 2008-2010 Application Packet

School of Informatics and Computing Undergraduate 2008-2010 Online Bulletin Table of Contents

 

 

School of Informatics
Undergraduate 2008-2010
Academic Bulletin

IU Informatics and Computing Program
School of Informatics and Computing 
Indiana University 
901 E. 10th St. 
Bloomington, IN 47408-3912 
Local (812) 856-5754 
Fax (812) 856-4764 
Contact Informatics and Computing Office

IU Informatics and Computing Program
Informatics and Computing and Communications Complex (IT)
535 W. Michigan Street
Indianapolis, IN 46202
317) 278-7673
Contact Informatics and Computing Office
 

Courses

Undergraduate Courses in Informatics
Undergraduate Courses in Computer Science

Undergraduate Courses in Informatics

The abbreviation “P” refers to the course prerequisite or prerequisites. The number of credit hours granted by a course is indicated in parentheses following the course title. Equivalent honors versions of regular informatics courses may substitute throughout.

I 101 Introduction to Informatics (4 cr.) Problem solving with information technology; introductions to information representation, relational databases, system design, propositional logic, cutting-edge technologies: CPU, operation systems, networks; laboratory emphasizing information technology including Web page design, word processing, databases, using tools available on campus. Credit given for only one of INFO-I 101 or H 101.

H 101 Introduction to Informatics, Honors (4 cr.) Honors version of
INFO-I 101. Credit given for only one of INFO-H 101 or I 101.

I 110 Basic Tools of Informatics I—Programming Concepts (1.5 cr.) P: CSCI-A 110, A 111, or equivalent computing experience. Introduction to programming for users of computer systems. Emphasis on problem-solving techniques. An eight-week lecture and laboratory course. Cross-listed with CSCI-A 112. Credit given for only one of the following: INFO-I 110 or
CSCI-A 112.

I 111 Basic Tools of Informatics II—Introduction to Databases (1.5 cr.) P: CSCI-A 110, A 111, or equivalent computing experience. Introduction to database design concepts. Entering and modifying data, accessing data using visual tools and SQL, and building database applications using forms and application development tools. Emphasis on problem-solving techniques. An eight-week lecture and laboratory course. Cross-listed with CSCI-A 114. Credit given for only one of the following: INFO-I 111 or CSCI-A 114.

I 130 Introduction to Cybersecurity (1 cr.) P or C: INFO-I 101. This course introduces students to cybersecurity. The course will primarily focus on introduction to three core areas (technical aspects of security, organizational aspects of security, and legal aspects of security). Through examples of security problems in real life, this course will illuminate fundamental ideas and concepts of information security. An eight-week course.

I 201 Mathematical Foundations of Informatics (4 cr.) P: INFO-I 101 and MATH-M 118, MATH-A 118, MATH-S 118, or MATH-D 116-117. An introduction to methods of analytical, abstract, and critical thinking; deductive reasoning; and logical and mathematical tools used in information sciences. The topics include propositional and predicate logic, natural deduction proof system, sets, functions and relations, proof methods in mathematics, mathematical induction, and graph theory. Credit given for only one INFO-I 201 or INFO-H 201.

H 201 Mathematical Foundations of Informatics, Honors (4 cr.) Honors version of INFO-I 201. P: INFO-I 101, and MATH-M 118, MATH-A 118, or MATH-S 118. Credit given for only one of INFO-H 201 or I 201.

I 202 Social Informatics (3 cr.) P: INFO-I 101. Introduction to key social research perspectives and literatures on the use of information and communication technologies. Discusses current topics such as information ethics, relevant legal frameworks, popular and controversial uses of technology (for example, peer-to-peer file sharing), digital divides, and so on. Outlines research methodologies for social informatics. Credit given for only one of
INFO-I 202 or H 202.

H 202 Social Informatics, Honors (3 cr.) Honors version of INFO-I 202. P: INFO-I 101. Credit given for only one of INFO-H 202 or I 202.

I 210 Information Infrastructure I (4 cr.) P: INFO-I 201. The software architecture of information systems. Basic concepts of systems and applications programming. Credit given for only one of the following:
INFO-I 210 or H 210.

H 210 Information Infrastructure I, Honors (4 cr.) Honors version of INFO-I 210. P: INFO-I 201. Credit given for only one of INFO-H 210 or I 210.

I 211 Information Infrastructure II (4 cr.) P: INFO-I 210. The systems architecture of distributed applications. Advanced programming, including an introduction to the programming of graphical systems. Credit given for only one of the following: INFO-I 211 or H 211.

H 211 Information Infrastructure II, Honors (4 cr.) Honors version of
INFO-I 211. P: INFO-I 210. Credit given for only one of INFO-H 211 or I 211.

I 230 Analytical Foundations of Security (3 cr.) P: INFO-I-130. This course will enable students to reevaluate and conceptualize material learned in discrete courses to consider the topics from their perspective of security. For example, computer system basics such as hardware (CPUs, memory) and software are reconsidered from the perspective of how their interactions create vulnerabilities. Vulnerabilities that combine standard hardware and software configurations will be examined because they illuminate both security and computer networks. Operating systems and file systems are examined from the perspective of access control, permissions, and availability of system services.

I 231 Computational Foundations of Cybersecurity (3 cr.) The goal of this course is for students to be introduced to the basic mathematical tools used in modern cybersecurity. The course covers introductory mathematical material from a number of disparate fields including probability theory, analysis of algorithms, complexity theory, number theory, and group theory.

I 300 Human-Computer Interaction Design and Programming (3 cr.) P: INFO-I 101, I 202. The analysis of human factors and the design of computer application interfaces. A survey of current HCI designs with an eye toward what future technologies will allow. The course will emphasize learning HCI based on implementation and testing interfaces. Credit given for only one of INFO-I 300 or H 300.

H 300 Human-Computer Interaction Design and Programming, Honors (3 cr.) Honors version of INFO-I 300. P: INFO-I 101, I 202. Credit given for only one of INFO-H 300 or I 300.

I 303 Organizational Informatics (3 cr.) P: INFO-I 101. Examines the various needs, uses, and consequences of information in organizational contexts. Topics include organizational types and characteristics, functional areas and business processes, information-based products and services, the use of and redefining the role of information technology, the changing character of work life and organizational practices, sociotechnical structures, and the rise and transformation of information-based industries.

I 308 Information Representation (3 cr.) P: INFO-I 101, I 201 and
I 210. The basic structure of information representation in digital information systems. Begins with low-level computer representations such as common character and numeric encodings. Introduces formal design and query languages through Entity Relationship Modeling, the Relational Model, XML, and XHTML. Laboratory topics include SQL and XPath querying. Credit given for only one of INFO-I 308 or H 308.

H 308 Information Representation, Honors (3 cr.) Honors version of
INFO-I 308. P: INFO-I 101, I 201 and 210. Credit given for only one of INFO-H 308 or I 308.

I 310 Multimedia Arts and Technology (3 cr.) P: INFO-I 300. The study of the evolution of media arts and underlying principles of communication. Application development paradigms in current practice.

I 320 Distributed Systems and Collaborative Computing (3 cr.)
P: INFO-I 211. An introductory treatment of distributed systems and programming. Topics range from the distributed and object models of computation to advanced concepts such as remote method invocations, object brokers, object services, open systems, and future trends for distributed information systems.

I 330 Legal and Social Informatics of Security (3 cr.) P: INFO-I 230, or consent of instructor. This course examines that set of ethical and legal problems most tightly bound to the issues of information control. The interaction and technology changes, but the core issues have remained: privacy, intellectual property, Internet law, concepts of jurisdiction, speech anonymity versus accountability, and ethical decision making in the network environment.

I 356 Globalization, Where We Fit In (3 cr.) Globalization changes how we work, what we buy, and who we know. Globalization involves people working eighty hour weeks in China and receiving free state-of-the-art drugs in Africa. Learn about the past, present and future of globalization, and what it means for you, your job, and your community.

I 371 Chemical Informatics I (1 cr.) Presents basic concepts of information representation, storage, and retrieval as they pertain to chemistry. The course is designed to give an overview of the techniques that make modern chemical informatics systems work. Looks at some of the coding techniques that form the basis for chemical information retrieval by structures, nomenclature, and molecular formulas. Examines various methods of coding for visualization of chemical structures and chemical data. In addition, some of the major algorithms and techniques used in the modern pharmaceutical industry to enhance their research efforts are presented in INFO-I 371.

I 372 Molecular Modeling (2 cr.) P: CHEM-C 341. Molecular modeling and computational chemistry; application of quantum mechanics and molecular mechanics to drive structural and energetic information about molecules; conformational analysis; quantitative structure activity relationships (QSAR) and related methods for drug design.

I 391 Internship in Informatics Professional Practice (1-3 cr.) P: Approval of dean and completion of 100- and 200-level requirements in informatics. Students gain professional work experience in an industry or research organization setting, using skills and knowledge acquired in informatics course work. May be repeated for a maximum of 3 credit hours. S/F grading.

I 399 Current Topics in Informatics (1-3 cr.) Variable topic course. Emphasis is on new developments and research in informatics. May be repeated twice with different topic.

I 400 Topics in Informatics (3 cr.) P: At least junior standing or permission of instructor. Variable topic. Emphasis is on new developments and research in informatics. May be repeated twice for credit for any combination of INFO-I 400 and H 400 when topic varies. Subject to approval of the dean.

H 400 Topics in Informatics, Honors (3 cr.) Honors version of INFO-I 400.
P: At least junior standing or permission of instructor. Variable topic. Emphasis is on development and research in informatics. May be repeated twice for credit for any combination of INFO-H 400 and I 400 when topic varies. Subject to approval of the dean.

I 421 Applications of Data Mining (3 cr.) P: INFO-I 308. The course explores the use of data mining techniques in different settings, including business and scientific domains. The emphasis will be on using techniques instead of developing new techniques or algorithms. Students will select, prepare, visualize, analyze, and present data that leads to the discovery of novel and actionable information.

I 427 Search Informatics (3 cr.) Techniques and tools to automatically crawl, parse, index, store, and search Web information, organizing knowledge that can help meet the needs of organizations, communities and individual users. Social and business impact of search engine technology. As a project, students will build a real search engine and compare it with Google.

I 430 Security for Networked Systems (3 cr.) P: INFO-I 230, I 231 and (I 211 or C 212). This course is an extensive survey of network security. The course materials cover threats to information confidentiality, integrity, and availability in different Internet layers, and defense mechanisms that control these threats. The course also provides a necessary foundation on network security, such as cryptographic, primitives/protocols, authentication, authorization and access control technologies; and hands-on experiences through programming assignments and course projects.

I 433 Systems & Protocol Security & Information Assurance (3 cr.) P: INFO-I 230, I 231 and (I 211 or C212). This class covers the fundamentals of computer security by looking at how things can go wrong, and how people can abuse the system. This is a matter of creative cheating; to find loopholes and exploit them. After students learn how to attack the system, it is possible to propose ways to make the system secure. Students will gain a basic overview of existing security problems and be exposed to methods that can be used to secure against such problems. The course should be taken by any one designing, selecting, or using applications in which security or privacy plays a role.

I 441 Human-Computer Interaction Design I (3 cr.) Human-computer interaction design (HCID) describes the way a person or group accomplishes tasks with a computer—what the individual or group does and how the computer responds; what the computer does and how the individual or group responds. This course is organized around a collection of readings and three design projects applying human-computer interaction principles to the design, selection, and evaluation of interactive systems.

I 453 Computer and Information Ethics (3 cr.) Ethical and professionalization issues that arise in the context of designing and using networked information technologies and information resources. Examines frameworks for making ethical decisions, emergent technologies and their ethical implications, information/computer professionalism. Topics include privacy, intellectual property, cybercrime, games, social justice, and codes of professional ethics.

I 485 Bioinspired Computing (3 cr.) Biological organisms cope with the demands of their environments using solutions quite unlike the traditional human-engineered approaches to problem solving. Biological systems tend to be adaptive, reactive, and distributed. Bio-inspired computing is a field devoted to tackling complex problems using computational methods modeled after design principles encountered in nature.

I 486 Artificial Life (3cr.) Artificial Life is a broad discipline encompassing the origins, modeling, and synthesis of natural and artificial living entities and systems. Artificial Intelligence, as a discipline, tries to model and understand intelligent systems and behavior, typically at the human level.

I 490 Professional Practicum/Internship for Undergraduates (0 cr.) P: Approval of the dean. Provides for participation in professional training and internship experience.

I 491 Capstone Project Internship (1-6 cr.) P: Approval of dean and completion of all required core informatics courses. Students put their informatics education in practice through the development of a substantial project while working in a professional information technology environment. May be repeated for a maximum of 6 credit hours.

I 492/I 493 Senior Thesis (3/3 cr.) P: Senior standing and approval of the dean. The senior student prepares and presents a thesis: a substantial, typically multichapter paper based on a well-planned research or scholarly project, as determined by the student and a sponsoring faculty member.

I 494/I 495 Design and Development of an Information System (3/3 cr.) P: Approval of the dean and completion of required core informatics courses. Students work on capstone projects in supervised teams. They select an appropriate project (preferably based on cognate) and then learn to develop a plan that leads to success. Teamwork, communication, and organizational skills are emphasized in a real-world-style environment. Credit given for only one of INFO-I 494 or H 494. Credit given for only one of INFO-I 495 or H 495.

H 494/H 495 Design and Development of an Information System, Honors (3/3 cr.) Honors version of INFO-I 494/495. P: Approval of the dean and completion of required core informatics courses. Credit given for only one of INFO-H 494 or I 494. Credit given for only one of INFO-H 495 or I 495.

H 498 Honors seminar(1-3 cr.) P: Junior or senior major in INFO with GPA at least 3.3 or permission of instructor. A survey of faculty research in computer related fields with different professors discussing their research each week. May be repeated up to a total of 6 credit hours.

I 499 Readings and Research in Informatics (1-3 cr.) P: Consent of instructor and completion of 100- and 200-level requirements in informatics. Independent readings and research related to a topic of special interest to the student. Written report required. May be repeated up to a total of 6 credit hours for any combination of
INFO-I 499 and H 499.

H 499 Readings and Research in Informatics, Honors (1-3 cr.) Honors version of INFO-I 499. P: consent of instructor and completion of 100- and 200-level requirements in informatics. Independent readings and research related to a topic of special interest to the student. Written report required. May be repeated up to a total of 6 credit hours for any combination of INFO-H 499 and I 499.

T 100 Topics in Informatics Technology (1-3 cr.) Variable topic. The course serves as an introduction to a specific information technology in a hands-on setting. Emphasis is on problem solving techniques using technology. Credit hours may not be applied toward satisfying major requirements in the School of Informatics.

Y 100 Exploring Informatics and Computer Science (1 cr.) Technology is everywhere and how it relates to the world today is very important to the future. The objective of this course is to offer students an opportunity to explore the many tracks within the fields of Informatics and Computer Science, while also learning about the multiple careers available to students majoring in the fields. Emphasis will be placed on the various ways technology affects the work world and how students can tailor a major to their individual interests. The course will promote a hands-on, interactive and self-reflective course environment. An eight-week course.

Y 395 Career Development for Informatics Majors (1 cr.) Helps students develop skills and knowledge to successfully pursue a career search, both at the time of graduation and as they progress through their careers. The course covers techniques and strategies to make the job search more efficient and effective. An eight-week course.

Undergraduate Courses in Computer Science

The abbreviation “P” refers to the course prerequisite or prerequisites. The number of credit hours granted by a course is indicated in parentheses following the course title. Equivalent honors versions of regular computer science courses may substitute throughout.

A 110 Introduction to Computers and Computing (3 cr.) N & M P: One year of high school algebra or MATH-M 014. Basic principles of computers and software. Social and lifestyle effects of information technology. Emphasis on problem-solving techniques. Productivity software skills are taught using real-world projects. Lecture and laboratory. Credit given for only one of CSCI-A 106, A 110, or A 111.

A 111 A Survey of Computers and Computing (1.5 cr.) P: one year of high school algebra or MATH-M 014, and some prior computing experience. Survey of computing concepts, with emphasis on problem-solving techniques. Experience in a variety of popular applications software for tasks such as word processing, Web browsing, spreadsheet calculations, and databases. Lecture and laboratory. An eight-week course. Credit given for only one of CSCI-A 106, A 110, or A 111.

A 112 Programming Concepts (1.5 cr.) P: CSCI-A 110, A 111, or equivalent computing experience. Introduction to programming for users of computer systems. Emphasis on problem-solving techniques. Lecture and laboratory. An eight-week course.Crosslisted with INFO-I 110. Credit given for only one of CSCI-A 112 or INFO-I 110.

A 113 Data Analysis Using Spreadsheets (1.5 cr.) P: CSCI-A 110, A 111, or equivalent. An introduction to data analysis using spreadsheets, including both scientific and business applications. Elementary statistical concepts and their applications to data analysis. Emphasis on problem-solving techniques. Lecture and laboratory. An eight-week course.

A 114 Introduction to Databases (1.5 cr.) P: CSCI-A 110, A 111, or equivalent. Introduction to database design concepts. Entering and modifying data, accessing data using visual tools and SQL, building database applications using forms and application development tools. Emphasis on problem-solving techniques. Lecture and laboratory. An eight-week course. Crosslisted with INFO-I 111. Credit given for only one of CSCI-A 114 or INFO-I 111.

A 201 Introduction to Programming I (4 cr.)N & M P: Two years of high school mathematics or MATH-M 014. Fundamental programming constructs, including loops, arrays, and files. General problem-solving techniques. Emphasis on modular programming and developing good programming style. Not intended for computer science majors. Credit given for only one of CSCI-A 201 and A 597.

A 202 Introduction to Programming II (2-4 cr.) P: CSCI-A 201 or A 304. Advanced programming techniques: user-defined functions and types, recursion vs iteration, parameter-passing mechanisms; Classic abstract data types and algorithms. Programming style. Object-oriented programming. Web Programming. 4 credit hours of CSCI-A 202 may be used in place of C 212 to satisfy computer science major requirements. May be taught as a full term course or eight week course. May be repeated for credit up to 4 credit hours.

A 216 Digital Multimedia Concepts and Technologies (3 cr.) N & M
P: CSCI-A 110, A 111, or equivalent computing experience. In-depth introduction to the technologies of digital hardware and software relevant to efficient multimedia communication methods. Lectures focus on computational foundations, underlying concepts, and digital methods. Laboratory provides direct experience with concepts presented in lecture, using latest available digital tools to create direct and Web-based multimedia content. Lecture and laboratory.

A 290 Tools for Computing (1-2 cr.)  Exploration of topics in computing. Common topics include tools for power users.  Prerequisites vary by topic.  Lecture and laboratory format. Three A 290 courses will count as one of seven advanced elective courses for majors.

A 304 Introductory C++ Programming (2 cr.) P: Programming experience. Topics include aspects of C++ that are not object-oriented, basic data structures, standard libraries, and UNIX tools for project management.

A 306 Object-Oriented Programming in C++ (2 cr.) P: CSCI-A 201, A 304, A 597, or C 212. Topics include objects, classes, encapsulation, inheritance, polymorphism, templates, and exceptions.

A 321 Computing Tools for Scientific Research (4 cr.) N&M C: MATH-M 118 or higher required; MATH-M 211 recommended. Introduction to computer-based tools useful for analysis and understanding of scientific data. Basic methods of computation, data processing, and display in systems such as Matlab combined with elementary practical C/C++ programming. Techniques to support customized scientific research tasks, with particular emphasis on biological, neural, and behavioral sciences. Lecture and laboratory.

A 338 Network Technologies and Administration (4 cr.) P: CSCI-A 110, EDUC-W 200, or equivalent computer literacy. Introduction to network principles and current network technology, both hardware and software. Network administration tools and techniques. Laboratory provides practical experience. Credit given for only one of CSCI-A 247 and A 338. Lab fee.

A 346 User-Interface Programming (3 cr.) P: CSCI-A 202, A 306, A 597, C 212, 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. Lab fee.

A 348 Mastering the World Wide Web (3-4 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. Lab fee.

C 102 Great Ideas in Computing (3 cr.) Survey of great ideas in computing in the modern world. Explores how people use computing tools to realize their ideas. Emphasis on the impact of modern technology and the use of hardware and software to create solutions to everyday problems. Lecture and laboratory.

C 211 Introduction to Computer Science (4 cr.) N & M P: High school precalculus math. A first course in computer science for those intending to take advanced computer science courses. Introduction to programming and to algorithm design and analysis. Using the Scheme programming language, the course covers several programming paradigms. Credit given for only one of CSCI-C 211 or H 211. Lecture and laboratory.

H 211 Introduction to Computer Science, Honors (4 cr.) N & M
P: High school precalculus math. Honors version of CSCI-C 211. Credit given for only one of CSCI-H 211 or C 211.

C 212 Introduction to Software Systems (4 cr.) N & M P: CSCI-C 211. Design of computer software systems and introduction to programming in the environment of a contemporary operating system. Topics include a modern object-oriented programming language; building and maintaining large projects; and understanding the operating system interface. Lecture and laboratory. Credit given for only one of CSCI-C 212 or H 212.

H 212 Introduction to Software Systems, Honors (4 cr.) N & M
P: CSCI-C 211. Honors version of CSCI-C 212. Credit given for only one of CSCI-H 212 or C 212.

C 241 Discrete Structures for Computer Science (3 cr.) N & M
P: CSCI-C 211. MATH-M 211 recommended. Induction and recursive programs, running time, asymptotic notations, combinatorics and discrete probability, trees and lists, the relational data model, graph algorithms, propositional and predicate logic. Credit given for only one of CSCI-C 241 or H 241.

H 241 Discrete Structures for Computer Science, Honors (3 cr.) N & M
P: CSCI-C 211. Math-M 211 recommended. Honors version of CSCI-C 241. Credit given for only one of CSCI-H 241 or C 241.

C 290 Tools in Computing (1-3 cr.) Exploration of topics in computing and computer science. Common topics include tools for power users. Prerequisites vary by topic. Lecture and laboratory format. May be repeated for credit up to 6 hours.

C295 Leadership and Learning (1 cr.) P: CSCI-C 211 or A 201 or INFO-I 210. Students work within the community to foster interest, knowledge, and appreciation of the computing sciences by preparing and leading presentations and hands-on activities for children in middle and secondary schools. Not for major credit. May be repeated for up to 6 credit hours.

C311 Programming Languages (4cr.) N & M P: CSCI-C 212. P or C: CSCI-C 241. Systematic approach to programming languages. Relationships among languages, properties and features of languages, and the computer environment necessary to use languages. Lecture and laboratory. Credit given for only one of CSCI-C 311 or H 311.

H 311 Programming Languages, Honors (4 cr.) N & M P: CSCI- C 212. P or C: CSCI-C 241. Honors version of CSCI-C 311. Credit given for only one of CSCI-H 311 or C 311.

C 322 Object-Oriented Software Methods (4 cr.) P: CSCI-C 212. Design and implementation of complex software systems and applications exploiting the object-oriented paradigm. Selection and effective utilization of object-oriented libraries and interfaces.

C 335 Computer Structures (4 cr.) N & M P: CSCI-C 212.
P or C: CSCI-C 241. Structure and internal operation of computers. The architecture and assembly language programming of a specific computer are stressed, in addition to general principles of hardware organization and low-level software systems. Lecture and laboratory. Credit given for only one of CSCI-C 335 or H 335. Lab fee.

H 335 Computer Structures, Honors (4 cr.) N & M P: CSCI-C 212. P or C: CSCI-C 241. Honors version of CSCI-C 335. Credit given for only one of CSCI-H 335 or C 335. Lab fee.

C 343 Data Structures (4 cr.) N & M P: CSCI-C 212.
P or C: CSCI-C 241. 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. Lecture and laboratory. Credit given for only one of CSCI-C 343 or H 343.

H 343 Data Structures, Honors (4 cr.) N & M P: CSCI-C 212. P or C: CSCI-C241. Honors version of CSCI-C 343. Credit given for only one of CSCI-H 343 or C 343.

B 351 Introduction to Artificial Intelligence and Computer Simulation (3 cr.) N & M P: CSCI-C 211. A survey of techniques for machine intelligence and their relation to human intelligence. Topics include modeling techniques, neural networks and parallel processing systems, problem-solving methods, vision, heuristics, production systems, speech perception, and natural language understanding. Credit given for only one of CSCI-B 351 or COGS-Q 351.

B 355 Autonomous Robotics (3 cr.) P: Two semesters of computer programming or consent of instructor. Introduction to the design, construction, and control of autonomous mobile robots. This course covers basic mechanics, electronics and programming for robotics, as well as the applications of robots in cognitive science. Credit given for only one of CSCI-B 355 or COGS-Q 360.

Y 390 Undergraduate Independent Study (1-3 cr.) P: Instructor’s permission. Independent research based on existing literature or original work. A report, in the style of a departmental technical report, is required. May be repeated but credit not given for more than 6 credit hours of any combination of CSCI-Y 390, Y 391, Y 398, Y 399, Y 499, C 390, and C 391.

Y 391 Undergraduate Independent System Development (1-3 cr.)
P: Instructor’s permission. The student designs, programs, verifies, and documents a project assignment. Prior to enrolling, the student must arrange for an instructor to supervise the course activity. May be repeated but credit not given for more than 6 credit hours of any combination of CSCI-Y 390, Y 391, Y 398, Y 399, Y 499, C 390, and C 391.

Y 398 Internship in Professional Practice (3 cr.) P: Sophomore standing and approval of the department. Students receive credit for selected career-related, full-time work. Evaluation by employer and faculty member. Does not count toward distribution requirements. May not be repeated for credit; credit may not exceed 6 credit hours for any combination of CSCI-Y 390, Y 391, Y 398, Y 399, Y 499, C 390, and C 391.

Y 399 Project in Professional Practice (3 cr.) P: Two of CSCI-C 311, C 335, C 343 and approval of the department. The student designs, programs, verifies, and documents a project assignment selected in consultation with an employer and the department. May be repeated but credit not given for more than 6 credit hours of any combination of CSCI-Y 390, Y 391, Y 398, Y 399, Y 499, C 390, and C 391.

B 401 Fundamentals of Computing Theory (3 cr.) N & M P: CSCI-C 241. P or C: CSCI-C 212. Fundamentals of formal language theory, computation models and computability, the limits of computability and feasibility, and program verification.

B 403 Introduction to Algorithm Design and Analysis (3 cr.) N & M
P: CSCI-C 241, C 343 and MATH-M 216 or M 212. Algorithm design methodology. General methods for analysis of algorithms. Analysis of the performance of specific algorithms, such as those for searching and sorting.

P 415 Introduction to Verification (3 cr.) N & M P: CSCI-C 311. Tools and techniques for rigorous reasoning about software and digital hardware. Safety, reliability, security, and other design-critical applications. Decision algorithms. Projects involving the use of automated reasoning, such as model checkers, theorem provers, and program transformation.

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

P 436 Introduction to Operating Systems (4 cr.) N & M P: CSCI-C 335 and
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. Lecture and laboratory.

P 438 Introduction to Computer Networks (4 cr.) P: CSCI-C C 335. Foundations of computer networks. Networking hardware technology such as Ethernet, ATM, wireless. Networking protocols (TCP/IP), routing, error correcting. Network services such as DNS, Web servers, virtual private networks (VPN), open SSL. Credit given for only one of CSCI-P 438 and P 538.

B 441 Digital Design (4 cr.) N & M P: CSCI-C 335. Organization and logic design of digital systems. Course presents a structured design philosophy, emphasizing hardwired and microprogrammed control. Boolean algebra, hardware building blocks, circuit synthesis, microprogramming. In the laboratory, students build, study, and debug a working minicomputer from elementary hardware components. Lecture and laboratory.

P 442 Digital Systems (4 cr.) N & M P: CSCI-B 441. Elements of computer architecture construction of hardware systems, emphasizing a combination of components to form systems, and applications of general principles of computing to digital implementation. Lecture and laboratory. Lab fee.

B 443 Introduction to Computer Architecture (3 cr.) N & M P: CSCI-C 335 and C 343. Principles of processors, control units, and storage systems. Registers, buses, microprogramming, virtual storage. Relationship between computer architecture and system software.

B 461 Database Concepts (3 cr.) N & M P: CSCI-C 241and 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 query a database, using a standard database system. Credit given for only one of CSCI-B 461 or B 561.

P 465/P 466 Software Engineering for Information Systems I-II (3/3 cr.) N & M P: CSCI-C 343. 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.

B 481 Interactive Graphics (4 cr.) N & M P: CSCI-C 343 and MATH-M 301 or 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 or B 581.

B 490 Seminar in Computer Science (1-3 cr.) Special topics in computer science. May be repeated up to a total of 6 credit hours.

H 498 Honors Seminar (1-3 cr.) P: Junior or senior major in computer science or informatics with a GPA of at least 3.3, or permission of instructor. A survey of faculty research in computer-related fields with different professors discussing their research each week. May be repeated up to a total of 6 credit hours.

Y 499 Honors Research (1-12 cr.) P: Approval of departmental honors committee. May be repeated but credit not given for more than 6 credit hours of any combination of CSCI-Y 390, Y 391, Y 398, Y 399, Y 499, C 390, and C 391.

Return to Top

 


Indiana University
Office of Creative Services
Von Lee 319
517 East Kirkwood Avenue
Bloomington, IN 47408-4060

Last updated: 29 March 2024 00 50 55

Submit Questions or Comments
Copyright 2024 The Trustees of Indiana University