Faculty
Link to Department Personnel
Link to Profiles of Full-time Faculty
Professors: Alan Benander, Barbara A. Benander, Adam M.A. Fadlalla, Paul J. Jalics, Chien-Hua (Mike) Lin, Santosh K. Misra (Chair), Toshinori Munakata; Associate Professors: Timothy J. Arndt, Ben A. Blake, Donald G. Golden, Victor M. Matos, David R. McIntyre, Howard Paul, Michael A. Pechura, Janche Sang; Assistant Professor: Iftikhar Sikder; Term Assistant Professor: Jackie Woldering; Term Instructors: Stephen Adams, David Antolovich, Dennis Smolinski.
Course Descriptions
Note: see also IST courses
CIS 260 Introduction to Programming (4-0-4). Prerequisite: None. Introduction to the principles of computation, problem solving methods, and algorithm development on a computer using a current object-oriented programming language. Development of good programming style and basic skills of designing, coding, debugging, and documenting programs. Topics include functions, arrays, strings, structures, recursion, file I/O, pointers, and introduction to linked lists. Return to top
CIS 265 Data Structures and Algorithms (4-0-4). Prerequisites: CIS 260, MTH 153 or MTH 181. This is a continuation of CIS 260. Programming and problem-solving skills are further developed by using language features to implement various data structures such as stacks, queues, linked lists, trees, and graphs. Topics include additional programming and problem solving techniques, and sorting, searching, and hashing algorithms. Return to top
CIS 306 Computers and Society(3-0-3). Prerequisite: CIS 265 or IST 203. History of computing and technology, the computer and the individual, privacy issues, legal issues, computer crime, computer security, future of computing. Return to top
CIS 334 Computer Organization (2-0-2). Prerequisite: CIS 265. Foundations of PC architecture and assembly language. Topics include machine language, hardware fundamentals, memory organization, data representation, addressing modes, and introduction to assemblers. This course contains the first half of the material from CIS 335. May not be used to satisfy BSCIS major-field requirements. Return to top
CIS 335 Language Processors (4-0-4). Prerequisite: CIS 265. Foundation of PC architecture and assembly language. Topics include machine language, hardware fundamentals, registers, numbering systems, data definition, and addressing modes. Fundamentals of systems programming including the implementation and use of assemblers, macro processors, linkers, loaders, and compilers. Examples of language processors are studied on various computers. Return to top
CIS 340 C/C++ for Systems Programming (2-0-2). Prerequisite: CIS 265. This course covers the basics of the C/C++ languages and selected standard library functions. Teaches students with a Java background to write C/C++ programs using standard library functions, primarily for use in later system-oriented courses. Return to top
CIS 345 Operating System Principles (4-0-4). Prerequisite: CIS 340. PC architecture and assembly language, including interrupts, I/O handling, and memory management. Study of operating system functions, including the management of computer resources such as processor scheduling, memory management, I/O device scheduling, and file system structure and protection using Unix. Return to top
CIS 368 Object Oriented Design and Programming (4-0-4). Prerequisite: CIS 265. Course provides in-depth coverage of both design and implementation of O-O programs. Students will gain understanding of the tenets of the O-O paradigm; they will design and create advanced O-O programs using a current object-oriented programming language. They will become familiar with pre-defined classes available for the language, and learn how to use them in their own software. Unified Modeling Language (UML) will be introduced as a graphical mechanism for system design. Students also will become familiar with design patterns. Return to top
CIS 408/508 Internet Programming (4-0-4). Prerequisite: CIS 265. Introduces Internet and intranet programming languages such as HTML, XML, Perl, JavaScript and ASP, in the context of building Internet and World Wide Web applications. Also discusses technologies such as Unix, socket programming, remote procedure calls, and Web-based application servers. Focuses on best practices enabled by each tool. Return to top
CIS 424/524 Comparative Programming Languages (4-0-4). Prerequisite: CIS 265. A short history of programming languages and styles precedes the study of a comparison of modern programming languages currently in use. The major programming paradigms are surveyed, including procedural, functional, object-oriented, graphical-user-based, and logic programming. Return to top
CIS 430/530 Data Base Concepts (4-0-4). Prerequisite: CIS 265. Concepts of data-base management systems and data-base models, primarily relational. Detailed study of query languages including relational algebra, Structured Query Language (SQL), and Query-by-Example (QBE). Introduction to data abstraction E-R models, normalization theory. Lab experience using a commercial DBMS and its supporting programming environment. Return to top
CIS 433 Systems Analysis(4-0-4).Prerequisite: CIS 430. Introduction to the tools and techniques of object-oriented analysis based on use of the Unified Modeling Language and the Rational Unified Process. System life cycle through the structured system specifications. Tools and techniques of object-oriented design. Return to top
CIS 434 Software Engineering (3-0-3). Prerequisite: CIS 433. Topics in software engineering and performance engineering, including comparison between structured and object-oriented software development, verification and testing, software design for concurrent and real-time systems, and system reengineering for increased performance. Return to top
CIS 438 Client-Server Computing (3-0-3). Prerequisites: CIS 430 . Concepts of client-server architecture, distributed database design, electronic mail and data interchange, distributed programming methodology, and implementation issues. Distributed database and electronic mail applications will be developed in cooperative distributed computing environment. Students will acquire system design knowledge and programming experience in client-server computing applications. Return to top
CIS 443/543 Graphical User Interfaces (3-0-3). Prerequisites: CIS 340, CIS 368; or CIS 459. Graphical User Interfaces for advanced bit-mapped display systems characterized by close interaction with pointing devices. Consideration of both the underlying application programming interfaces as well as the use of a framework of C++ classes. Use of an interactive environment for design and debugging. A specific industry standard system is explored in detail with extensive programming involvement. Return to top
CIS 454/554 Data Communications and Computer Networks (4-0-4). Prerequisites: CIS 345. Data communications: characteristics of physical transmission media, including international standards for data encoding and device interfacing; transmission principles, modems and multiplexors; data link protocols, mechanisms for error detection/correction, and flow control; Computer Networks: broad survey of existing networks; network topology; network layers from the ISO OSI reference model; network programming; analytical tools for network analysis and design. Return to top
CIS 457 Computer graphics (3-0-3). Prerequisite: CIS 265. Investigation of the some of the algorithms for the drawing of lines, polygons, circles and ellipses; image clipping, image transformation, fractals and splines. Return to top
CIS 459/559 Object Oriented Programming (3-0-3). Prerequisite: CIS 340. This course teaches the methodology of object-oriented design and programming using the C++ language. The C++ language taught includes built-in data types, pointers, classes, operator overloading, code reusability via simple and multiple inheritance, polymorphism, stream I/O, and the use of class libraries. Return to top
CIS 465 Multimedia (3-0-3). Prerequisite: CIS 265. Multimedia hardware; multimedia objects and their acquisition; applications of multimedia, multimedia tools and techniques; authoring advanced multimedia applications using authoring systems; investigating Windows programs for multimedia applications. Return to top
CIS 467 Introduction to Artificial Intelligence (3-0-3). Prerequisite: CIS 265. The course is an elementary introduction to artificial intelligence, which presents an overview of various domains of the field. Topics studied include search techniques, symbolic algebra, natural language processing, knowledge-based systems, reasoning under uncertainty, machine learning, and some non-symbolic topics such as neural networks and genetic algorithms. Common Lisp, a major symbolic AI language, will also be introduced. Return to top
CIS 490/590 Foundations of Computing (3-0-3). Prerequisites: MTH 182, MTH 220, and CIS 335; Mathematics majors may substitute one mathematics course numbered 280 or above for CIS 335 . Sets, relations, regular languages, finite automata, context-free languages, pushdown automata, phrase-structure languages, Turing machines, Church's theory, recursion, computability, decidability, computational complexity. Return to top
CIS 491 Professional Internship (1 to 3 credits). Prerequisite: Junior standing and permission of a CIS Department faculty adviser. Corequisite: CIS 490. Work experience in a professional environment. The work performed must extend the academic curriculum and provide a meaningful learning experience in the student’s area of interest. Term paper required. This course may only be taken once. Return to top
CIS 493 Special Topics in Computer and Information Science (1 to 4 credits). Prerequisite: Varies. Special topics of current interest in Computer and Information Science. Content varies each offering. May be repeated. Return to top
CIS 496 Independent Study (1 to 4 credits). Prerequisites: Senior standing, departmental approval. Special research projects in Computer and Information Science. Arranged between student and adviser and subject to departmental approval prior to registration. Return to top
CIS 499 Honors Thesis in CIS (3 credits). Prerequisite: Restricted to senior CIS honors students. The Honors Thesis requires the honors student to conduct a piece of original research in computer and information science under the supervision of a CIS faculty member. The thesis will be presented orally and submitted as a written report. Return to top
