01303/Computer and Information Sciences
Students must have at least a "C" in the major prerequisite course, in order to continue on to the next major course. |
C055/H095. Computers and Applications (4 s.h.) F S SS. Core: SB. Prerequisite: First-level Core Science Course.
With the explosion of computer technology, knowledge of computing applications as tools for all disciplines has become a necessary asset. This course will introduce the student to hardware and software overview, use of the computer as a tool to process information, and ethical and social implications of computing. The laboratory portion of this class will provide students with hands-on experience to supplement the lecture material. Specific applications include word processing, spreadsheets, the resources of the Internet, databases, and presentation software. Mode: 3 hr. lecture, 2 hr. lab.
0056. Programming for the World Wide Web (4 s.h.) F S. Prerequisite: CIS C055.
This course is designed to introduce students with little or no programming experience to the programming languages and techniques that are associated with the World Wide Web. Markup languages such as HTML and XML and scripting languages such as JavaScript, VBScript, and Perl will be introduced. Emphasis will be placed on the types of programs that Web designers and computer users need to create. Rather than writing programs from scratch, emphasis will be placed on modifying running programs to add functionality. The syntax and semantics of the programming languages will be introduced as needed. Mode: 3 hr. lecture, 2 hr. lab.
C061. Programming in Java (4 s.h.) F S SS. Core: QB. Prerequisite: First-level Core Mathematics course.
Duplicate Courses: No credit given to students who have completed CIS C059, 0067, C071, or C081. Introduces students to computers and computer programming. Topics covered include the general characteristics of computers, techniques of problem solving and algorithm specifications, and the debugging and testing of computer programs in Java.
0066. Mathematical Concepts in Computing I (4 s.h.) F S SS. Prerequisite: strongly recommended one semester of programming (CIS C071).
Co-Requisite: Mathematics C075 or C085.
Duplicate Courses: No credit for students who have completed Mathematics 0141.
Introduction to the mathematical concepts fundamental to computer science. Topics include number systems, natural numbers, integers, and ratios; set and relations including equivalence, congruence, and order; functions and mappings and Boolean Algebra. Students will also learn formal methods for writing mathematical proofs, including direct and indirect proofs, enumerability, and diagonal proofs, converse and contrapositive, and induction. Additional topics include recursion and recursive algorithms. Applications to computer science will be illustrated. Note: Students planning to take advanced courses in mathematics should take Mathematics 0141. Mode: 3 hr. lecture, 2 hr. rec.
0067. Program Design and Abstraction (4 s.h.) F S SS. Prerequisite: Mathematics C074 with a 'C' or better or two years of high school algebra and one year of trigonometry.
Introduction to problem solving and programming in Java, software engineering, procedural and data abstraction, and object-oriented programming, including class hierarchies, inheritance and interfaces. Data types covered include primitive data types, strings, classes, arrays, vectors, and streams. Programming techniques include at least one technique for searching and sorting an array and an introduction to file processing. (No credit for students who have completed CIS C081.) Mode: 3 hr. lecture, 2 hr. lab.
0068. Data Structures (4 s.h.) F S SS. Prerequisite: CIS 0066 and 0067.
A continuation of CIS 0067. Program style organization and design with continued emphasis on the object-oriented design paradigm. Understanding and use of data abstraction through Java classes and class libraries. Understanding and use of the following Abstract Data Types: strings, stacks, queues, linked lists and binary trees. Introduction to expression evaluation and other applications. Introduction to recursion and comparative analysis of searching and sorting algorithms and data structures. Sorting algorithms include insertion sort, mergesort, heapsort, and quicksort. Searching algorithms include binary search and hashing. Mode: 3 hr. lecture, 2 hr. lab.
C071. Computer Programming in C (4 s.h.) F S SS. Core: QB. Prerequisite: First-Level Core Math Course.
Duplicate Course: No credit for students who have taken CIS C059, C061, 0067, or 0081.
Introduces students to computer and computer programming. Topics covered include the general characteristics of computers, techniques of problem solving, and algorithm specification, and the debugging and testing of computer programs in the C language. Note: 3 hr. lecture, 2 hr. lab.
0072. Computer Systems and Low-Level Programming (4 s.h.) F S SS. Prerequisite: CIS 0066 and CIS 0067.
This course introduces computer systems architecture at the level required to understand low-level systems programming. It examines issues of information representation, the form of machine instructions and addressing, the implementation of programming language constructs in terms of machine instructions, the interfaces to peripheral devices. Programming is done in assembly language and in C. Mode: 3 hr. lecture, 2 hr. lab.
C081. Computer Programming and Higher Level Languages (4 s.h.) F S SS. Core: QB. Prerequisite: Satisfactory completion of Quantitative A course.
Introduction to Java programming methods, software engineering, and procedural and data abstraction. Coverage will include Java programming language, top-down design and modular programming, software development process, module documentation including preconditions and post-conditions, debugging, and testing programs. Data types covered include simple data types, arrays, structs, and strings. Programming techniques include at least one technique for searching and sorting an array and an introduction to file processing. Coverage will include an introduction to the use of abstract data types and class. (No credit for students who have taken CIS 0067.) Note: For Information Science and Technology Track Mode: 3 hr. lecture, 2 hr. lab.
0083. Object-Oriented Programming (4 s.h.) F S SS. Prerequisite: CIS C081.
A continuation of CIS C081. Consolidation and extension of Java programming skills, focusing on the creation and use classes for data abstraction. (No credit for students who have taken CIS 0068.) Note: For Information Science and Technology Track Mode: 3 hr. lecture, 2 hr. lab.
0109. Database and File Management Systems (4 s.h.) F S. (Formerly: CIS 0130.) Prerequisite: CIS C081.
Co-Requisite: CIS 0083.
This is an introductory course in database management systems (DBMS) and file management systems. The course covers data modeling concepts, various file management techniques, data definition and manipulation using SQL, issues in data management, development and implementation of database applications, and a perspective on emerging issues in database systems. Students work in the Lab on various assignments including prototyping and SQL, utilizing state of the art DBMS and CASE tools. Note: For Information Science and Technology Track Mode: 3 hr. lecture, 2 hr. lab.
0155. Fluency in Information Technology (4 s.h.) Prerequisite: CIS C055 or H095 or equivalent experience or permission of instructor.
Information Technology (IT) is central to modern society. This second-level course provides a strong foundation in IT that is embedded in hands-on use of the technology in different complex, and information rich environments. Case studies developed by scientists who use computers heavily in their research will form the nucleus of the course, which aims to bring students beyond the level of an introductory "computer literacy" course. Note: This course yields no credit towards the CIS major Mode: 3 hr. lecture, 2 hr. lab.
0166. Mathematical Concepts in Computing II (4 s.h.) F S SS. Prerequisite: CIS 0067 and 0066.
Duplicate Course: No credit for students who have completed Math 0205.
Concepts include combinations, permutations, binomial and multinomial coefficients, recurrence relations, big 0 notation, finite probability, introduction to predicate and propositional calculus and program verification, and introduction to trees and graphs. Applications to computer science will be illustrated.
Note: May not be taken for mathematics credit. Mode: 3 hr. lecture, 2 hr. rec.
0203. Introduction to Artificial Intelligence (4 s.h.) Prerequisite: CIS 0068, 0066 or permission of the instructor.
Introduction to the issues and ideas of artificial intelligence using LISP and PROLOG. Knowledge of representation, search, problem solving, learning and mathematical reasoning. Mode: 3 hr. lecture, 2 hr. lab.
0207. Introduction to Systems Programming and Operating Systems (4 s.h.) F S. Prerequisite: B- average in CIS 0066,0067,0068 and 0072.
This course is concept-oriented, not specialized to a particular operating system, and not trying to teach how to code the kernel of an operating system. After reviewing a number of system programming issues, it examines the basic components of modern operating systems in terms of their function, domain, design, principles and implementation techniques, use and impact on systems programming. It describes and uses in programming homework two modern operating systems (UNIX and Windows NT). Design and implementation of a number of concurrent programs is examined. Hardware support for operating system functions is discussed. Performance issues are considered through the course. Mode: 3 hr. lecture, 2 hr. lab.
0209. Component-Based Software Development (4 s.h.) F S. Prerequisite: CIS 0083 and CIS 0109.
A component is an executable unit of code that provides physical black-box encapsulation of related services. Its services can only be accessed through a consistent, published interface that includes an interaction standard. A component must be capable of being connected to other components through a communication's interface to form a larger group. Components range from user-interface icons and controls, like menu bars and hypertext navigators, to complete software products, like word processors. Students learn to design and develop components to form the underlying fabric of software solutions. Note: For Information Science and Technology Track. Mode: 3 hr. lecture, 2 hr. lab.
0211. Automata, Computability, and Languages (3 s.h.) S. Prerequisite: CIS 0068, 0066, and 0072 or permission of instructor.
Finite automata, their limitations and capabilities, and Kleen's theorem or regular expressions. Other types of automata and their events. Turing machine and computability, computable functions, and halting problems. Introduction to context-free languages. Syntactical analysis of such languages with application to translation.
0217. Computer Architecture (4 s.h.) Prerequisite: CIS 0068, 0066, and 0072.
Concepts include levels of analysis: structure level, program level, register transfer level, logic design level, and circuit level; switching circuit technologies; central processor unit, instruction set architectures, control unit, and data paths ; main memory organizations; arithmetic/logic unit, integer arithmetic, floating-point arithmetic, bus structures including single-bus and multi-bus, bus control, and direct memory access. Mode: 3 hr. lecture, 2 hr. lab.
0220. Computer Graphics and Image Processing (4 s.h.) Prerequisite: CIS 0068, 0066, and 0072.
An analysis of the techniques used in computer manipulation of two- and three-dimensional images. Hardware and software for displaying images, two- and three-dimensional transformations, the hidden line problem, picture processing, character recognition, and two-dimensional filtering. Mode: 3 hr. lecture, 2 hr. lab.
0223. Data Structures and Algorithms (4 s.h.) F S. Prerequisite: B- average in CIS 0066,0067,0068, and 0072; and CIS 0166. CIS 0166 may be taken concurrently.
Program style organization and design with continued emphasis on the use of abstract data types and the object-oriented design paradigm. Comparative analysis of algorithms and data structures. Data structures include heaps, priority queues, binary and general trees, binary search trees, AVL trees, B-trees, and graphs. Algorithms include heapsort, topological sort, breadth-first search, depth-first search, shortest path algorithms, and Huffman coding. Students will gain experience working in a group on at least one moderate-size project. Mode: 3 hr. lecture, 2 hr. lab.
0230. Operating Systems and Networking (4 s.h.) F S. Prerequisite: CIS 0083 and CIS 0109.
This course provides an introduction to computer system architecture, operating systems concepts, and network organization, structure, and management. Note: For Information Science and Technology Track. Mode: 3 hr. lecture, 2 hr. lab.
0242. Discrete Structures (3 s.h.) F. Prerequisite: CIS 0068, 0066, and 0072.
Introduction to algebraic structures fundamental to various areas of computer science. Graphs, planar graphs, algorithms on graphs and their analysis, sequential machines and their minimization, semi-groups, and groups and their application to computer science.
W281. Information Systems Analysis and Design (4 s.h.) F S. Core: WI. (Formerly: CIS W201.) Prerequisite: CIS 0209 and 0230.
The analysis and design phases of the System Development Life cycle are covered in detail. Methodologies for systems analysis, specifications, and design are covered. Both the Traditional Structured and Object Oriented methodologies are used by the students, working in teams, to develop real-life information systems. Emphasis is placed on well-written documentation as well as oral communication typically required during the software development life cycle. Project management tools are employed by students to monitor their progress and the costs associated with their projects. CASE tools are employed for data and information modeling and specification. Note: For Information Science and Technology Track. Mode: 3 hr. lecture, 2 hr. .
0305. Real Time Computer Systems (4 s.h.) Prerequisite: CIS 0207 and 0223.
Introduction to the problems and techniques of designing and developing real-time systems. Topics will include components of real-time and embedded systems, system and device architecture, synchronous an asynchronous event handling, multi-tasking in real-time systems, scheduling and synchronization, and real-time data acquisition and control. The laboratory component involves building systems and simulations in real-time environments, with real-time kernels. Mode: 3 hr. lecture, 2 hr. lab.
0307. Introduction to Distributed Systems and Networks (4 s.h.) F S. Prerequisite: CIS 0166, 0207 and 0223.
Introduction to the concepts that are fundamental for understanding distributed systems and the technical infrastructure that makes them possible. Lectures will mostly be expository and conceptual. Directed closed laboratories and home assignments will be applied and involve the solution of distributed programming problems. Mode: 3 hr. lecture, 2 hr. lab.
0308. Distributed Components Development (4 s.h.) Prerequisite: CIS 0207 and 0223.
The objective of this course is to teach the principles and development of multi-tiered distributed systems. It is introduced with a basic review of internet communications and the architecture of client and server sites, including the functions of and relationships among the browser, web server, operating and file systems, middle-ware, database server, and application servers. Concepts involving various types of client/server side processing and remote connectivity methodologies are reviewed, including scripting languages, HTML, Dynamic HTML, XML, ASP, CGI, and DCOM. About 30% of the course is devoted to the above-described theory. The remainder of the course will be devoted to putting some of these principles and techniques into practice using the DCOM technology. A series of progressively sophisticated problems will be studied and programmed in the lab. Mode: 3 hr. lecture, 2 hr. lab.
0309. Client/Server and Net-Centric Computing (4 s.h.) F S. Prerequisite: CIS 0209 and 0230.
The objective of this course is to teach the principles and development of multi-tiered distributed systems. It is introduced with a basic review of internet communications and the architecture of client and server sites, including the functions of and relationships among the browser, web server, operating and file systems, middleware, database server, and application servers. Concepts involving various types of client/server side processing and remote connectivity methodologies are reviewed, including scripting languages, HTML, Dynamic HTML, XML, ASP, CGI, and DCOM. About 30% of the course is devoted to the above-described theory. The remainder of the course will be devoted to putting some of these principles and techniques into practice using the DCOM technology. A series of progressively sophisticated problems will be studied and programmed in the lab. The high end will include a multi-tiered project with database connectivity. Note: For Information Science and Technology Track. Mode: 3 hr. lecture, 2 hr. lab.
0320. Computer Networks and Communications (4 s.h.) Prerequisite: CIS 0207 and 0223.
Introduction to computer networks and communications. Local and wide area networks. Network topology and routing. Internet and ISO protocols. Applications including remote procedure calls, remote logon, and file transfer. Network operating systems. Mode: 3 hr. lecture, 2 hr. lab.
0324. Compiler Design (4 s.h.) Prerequisite: CIS W223.
The student will learn what a compiler is and how it works. Topics covered include: how to specify what a legal program is in a language (syntax); how to specify what a legal program does (semantics); how a computer uses these specifications to recognize a legal program and translate this program into the machine's language. Students will develop a working compiler for a simple object-oriented programming language using an Object-Oriented approach, using C++, and the compiler construction tools lex and yacc. Mode: 3 hr. lecture, 2 hr. lab.
0330. Network Architectures (4 s.h.) Prerequisite: CIS 0209 and 0230.
This course covers the operation of computer networks and internets. It provides the background to enable students to evaluate alternative approaches to client-server computing and n-tier software development. To accomplish this the course includes communications technology, computer network technology internetworking using the TCP/IP protocol suite, client-server protocols, client-server computing, network program component models as well as issues involving security, privacy, authentication, intellectual property rights, and social changes related to computer networking. Note: For Information Science and Technology Track Mode: 3 hr. lecture, 2 hr. lab.
0331. Principles of Database Systems (4 s.h.) F S SS. Prerequisite: CIS 0207 and 0223.
This course will cover the fundamental concepts of database systems. The main emphasis will be on relational database theory, database design and implementation. The course will review the relational model and show how it is realized in Oracle's SQL implementation. Use of metadata concepts and techniques in database and application design will also be discussed. Oracle will be the main underlying RDBMS environment used for lab exercises and lecture materials. Mode: 3 hr. lecture, 2 hr. lab.
W338. Software Engineering (4 s.h.) F S. Core: WI. Prerequisite: CIS 0223.
Co-Requisite: CIS 0207.
This course presents the general principles that serve as the foundation of software engineering. The student is introduced to the broader context of system analysis, learns how total system requirements are analyzed and how decisions are made to allocate various functions among hardware, software, and people. The software lifecycle is examined. The course presents some professional issues, including accountability of the software engineer in complex systems and legal issues and laws that relate to software. Introduces database concepts and graphical user interfaces. Mode: 3 hr. lecture, 2 hr. lab.
0339. Projects in Computer Science (4 s.h.) F S. Prerequisite: CIS W338 and senior standing.
Team-oriented design and implementation of large programming project. Students will propose topics for review and acceptance early in the semester. Students are encouraged to use the department's list of project suggestions as case studies in CIS W338 and to perform initial specification and analysis of their projects in CIS W338. Students will provide written documentation of their completed projects and will demonstrate the operation of their completed projects in an oral presentation. Projects will be solicited from industry and other departments at the University. Mode: 3 hr. lecture, 2 hr. lab.
0342. Java for Network Applications (4 s.h.) Prerequisite: CIS 0209 and CIS 0230.
Internet development makes extensive use of Java. Java enables the autonomous execution of programs. Consequently, Java programs form the backbone of the majority of internet applications. The aim of this course is to develop Java programming skills to allow students to develop internet applications. Note: For Information Science and Technology Track. Mode: 3 hr. lecture, 2 hr. lab.
0345. Seminar on Problems & New Developments (4 s.h.) F S SS. Prerequisite: permission of instructor.
Current problems in information science and technology. Note: For Information Science and Technology Track
0350. Seminar on Topics in Computer Science (4 s.h.) F S SS. Prerequisite: Permission of instructor.
Current problems in computer science.
W381. Information Systems Implementation (4 s.h.) F S SS. Core: WI. Prerequisite: CIS W281.
This is a capstone course where teams of students implement the information system for which they developed specifications in CIS W281. The teams create the database, programs, procedures and documentations necessary for their project. Techniques of modular design, program development, testing and integration are employed. Emphasis is placed on writing documentations, oral presentations and project management. Note: For Information Science and Technology Track. Mode: 3 hr. lecture, 2 hr. lab.
0397/0398. Independent Study (1 to 6 s.h.) F S SS. Prerequisite: Consultation with faculty member and approval of department chairperson.
Readings and/or papers under supervision of a faculty member. [Back] [Top] |