[Back]

01303/Computer & Information Sciences (C+IN SC)

Students must have at least a "C" in the major prerequisite course, in order to continue on to the next major course. Which Programming Course should a student take? Non-majors with no prior experience in programming in a high-level language (for example, Pascal, C, C++, Fortran, Java) should take C+IN SC 1057 (C071) (Programming in C). Non-majors with prior experience in programming should take C+IN SC 1068 (0067) or 1073 (C081) unless they are specifically interested in learning the C programming language in which case they should take C+IN SC 1057 (C071). Majors in Computer & Information Sciences should begin with C+IN SC 1068 (0067), which is an introduction to object-oriented programming in Java. Although no programming background is assumed, most students in the class have taken a prior course in programming. Consequently, Computer & Information Sciences majors with no prior experience in programming in a high-level language (for example, Pascal, C, C++, Fortran, Java) should consider taking C+IN SC 1057 (C071) before taking C+IN SC 1068 (0067). C+IN SC 1057 (C071) cannot be taken for credit after completing C+IN SC 1068 (0067). Majors in Information Science & Technology should begin with C+IN SC 1073 (C081) regardless of programming background.

Lower Division Courses

0823. Math for a Digital World (3 s.h.) Core: QB.

(Formerly: GE-QUAN 1051 (0060).)

Databases and the Internet present both amazing opportunities and new vulnerabilities to fraud and theft. We will focus on how mathematics is used to digitize information, to compress it, and to transmit it securely. In a term project, students will investigate a socially significant question, using tools and concepts developed in the course. Some of these questions are: Does it make sense to draw for an inside straight? How can polling results differ so much from the election --- or do they? How can the winner of an election in the U.S. get much less than 50% of the vote? How long will the world`s oil last, assuming that we use more each year? How long will a million dollars last you, assuming it earns interest until you spend it? If you bought your text online, could someone tap into the Internet and get your credit card number when it`s transmitted? Why does the VIN on your car have so many digits?

Note: This General Education `Quantitative Literacy` pilot course fulfills the Core Quantitative Reasoning second level (QB) requirement.

0835. Cyberspace & Society (3 s.h.) Core: SB.

(Formerly: GE-SCI 1041 (0060).)

Cyberspace technology empowers us to do more, but it also has a societal impact. It raises new questions regarding the use and misuse of information obtained from the Internet. For example, what is the impact of the Internet on intellectual property? How far can computer surveillance go to detect criminal behavior without reducing our civil liberties? How can vulnerable groups be protected from predators, scam artists, and identity theft? Does privacy even exist anymore? You will develop an understanding of the technologies behind the Internet, the web and your computer, and then use this knowledge to evaluate the social and ethical implications of this technology.

Note: This General Education `Science/Technology` pilot course counts toward the Core Science & Technology second level (SB) requirement.

0935. Honors Cyberspace & Society (3 s.h.) Core: SB.

(Formerly: GE-SCI 1941 (H060).)

Cyberspace technology empowers us to do more, but it also has a societal impact. It raises new questions regarding the use and misuse of information obtained from the Internet. For example, what is the impact of the Internet on intellectual property? How far can computer surveillance go to detect criminal behavior without reducing our civil liberties? How can vulnerable groups be protected from predators, scam artists, and identity theft? Does privacy even exist anymore? You will develop an understanding of the technologies behind the Internet, the web and your computer, and then use this knowledge to evaluate the social and ethical implications of this technology. (This is an Honors course.)

Note: This General Education `Science/Technology` pilot course counts toward the Core Science & Technology second level (SB) requirement.

1006. Informatics for Scientists (2 or 3 s.h.)

This course introduces students to the interdisciplinary nature of science and shows how the use of computational tools facilitates better understanding and improvements in research and technology. The applications will be at the intersection of biological and computer sciences, using basic probabilistic/machine learning techniques to address biological problems and mine data sets including topics such as genome sequencing, drug screening, and DNA micro-arrays.

1051. Programming for Non-Programmers (4 s.h.) F S SS.

(Formerly: C+IN SC 0051.)

This course introduces students to the principles of computer programming by using a non-traditional approach that reduces or eliminates the barriers often encountered by students. Software tools will provide an easy-to-use environment for students to learn programming. After students have mastered these straightforward introductory tools, the course will make a transition to a traditional programming language.

Note: Duplicate Courses. No credit for students who have completed C+IN SC 1057 (C071), 1068 (0067), or 1073 (C081). Mode: 3 hour lecture, 2 hour lab.

1053. Programming in Matlab (4 s.h.) F S SS. Core: QB. $.

(Formerly: C+IN SC C061.)

Prerequisite: Grade of C or better in Mathematics 1021 (C073) or higher, or placement into Mathematics 1022 (C074).

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 Matlab.

Mode: 3 hr. lecture, 2 hr. lab.

1055. Computers and Applications (4 s.h.) F S SS. Core: SB.

(Formerly: C+IN SC C055.)

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 understanding the components of a computer system; the use of the computer to process information; the technology behind computers and networks and how this technology is likely to change; purchasing and maintaining a personal computer system; understanding the technology of the Internet; and social and ethical implications of computing. The laboratory portion of this class will provide students with hands-on experience to supplement the lecture material. Operating system concepts, a working knowledge of collaborative software and the following applications are covered: advanced features of word processing, spreadsheets, databases, presentation software and the resources of the Internet including developing a website using sound design techniques to publish course documents and incorporating multi-media components.

Mode: 3 hr. lecture, 2 hr. lab.

1056. Programming for the World Wide Web (4 s.h.) F S.

(Formerly: C+IN SC 0056.)

Prerequisite: Grade of C or better in C+IN SC 1055 (C055) or equivalent.

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. XHTML, Javascript and Flash ActionScript will be used to create web pages and learn basic programming techniques. Web Server languages and their role in expanding the functionality of the website will be explored. 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.

1057. Computer Programming in C (3 to 4 s.h.) F S SS. Core: QB. $.

(Formerly: C+IN SC C071.)

Prerequisite: Grade of C or better in Mathematics 1021 (C073) or higher, or placement into Mathematics 1022 (C074).

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: Duplicate Course: No credit for students who have taken C+IN SC 1068 (0067) or 1073 (C081). Mode: 3 hr. lecture, 2 hr. lab.

1068. Program Design and Abstraction (4 s.h.) F S. $.

(Formerly: C+IN SC 0067.)

Prerequisite: Grade of C or better in Mathematics 1021 (C073) or higher, or placement into Mathematics 1022 (C074).

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 C+IN SC 1073 (C081).)

Note: For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. lab.

1073. Computer Programming and Higher Level Languages (4 s.h.) F S. Core: QB. $.

(Formerly: C+IN SC C081.)

Prerequisite: Grade of C- or better in Mathematics 1021 (C073) or higher, or placement into Mathematics 1022 (C074).

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 C+IN SC 1068 (0067).)

Note: For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

1166. Mathematical Concepts in Computing I (4 s.h.) F S.

(Formerly: C+IN SC 0066.)

Prerequisite: Grade of C or better in Mathematics 1022 (C074), or placement into Mathematics 1041 (C085).

Introduction to the mathematical concepts fundamental to computer science. Topics include an introduction to predicate and propositional calculus; sets and set operations; functions and mappings; big-O notation and the growth of functions; algorithms, integers, and matrices; mathematical induction and recursive definitions; combinations, permutations, and binomial coefficients; discrete probability, expected value and variance. Students will also learn formal methods for writing mathematical proofs. Applications to computer science will be illustrated.

Note: Duplicate Courses: No credit for students who have completed Mathematics 2196 (W141). Students planning to take advanced courses in mathematics should take Mathematics 2196 (W141) for Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. rec.

1955. Honors Computers and Applications (4 s.h.) F S SS. Core: SB.

(Formerly: C+IN SC H095.)

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 understanding the components of a computer system; the use of the computer to process information; the technology behind computers and networks and how this technology is likely to change; purchasing and maintaining a personal computer system; understanding the technology of the Internet; and social and ethical implications of computing. The laboratory portion of this class will provide students with hands-on experience to supplement the lecture material. Operating system concepts, a working knowledge of collaborative software and the following applications are covered: advanced features of word processing, spreadsheets, databases, presentation software and the resources of the Internet including developing a web site using sound design techniques to publish course documents and incorporating multi-media components.

Mode: 3 hr. lecture, 2 hr. lab.

Upper Division Courses

2107. Computer Systems and Low-Level Programming (4 s.h.) F S. $.

(Formerly: C+IN SC 0072.)

Prerequisite: Grade of C or better in C+IN SC 1068 (0067). Co-Requisite: C+IN SC 1166 (0066).

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.

Note: For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. lab.

2109. Database and File Management Systems (4 s.h.) F S. $.

(Formerly: C+IN SC 0109.)

Prerequisite: Grade of C or better in C+IN SC 1068 (0067) or 1073 (C081), or an equivalent first-semester programming course in C++, C#, Java or VB.Net. Co-Requisite: C+IN SC 2173 (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: Duplicate Course: No credit for students who have completed C+IN SC 4331 (0331). For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

2166. Mathematical Concepts in Computing II (4 s.h.) F S.

(Formerly: C+IN SC 0166.)

Prerequisite: Grade of C or better in C+IN SC 1166 (0066).

A continution of C+IN SC 1166 (0066). Concepts include recursion and recursive algorithms; relations including equivalence, congruence, and order; introduction to graphs and trees. Additional topics include, Boolean algebra, and finite automata. Applications to computer science will be illustrated.

Note: Duplicate Course: No credit for students who have completed Math 3098 (W205). May not be taken for mathematics credit. For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. rec.

2168. Data Structures (4 s.h.) F S. $.

(Formerly: C+IN SC 0068.)

Prerequisite: Grade of C or better in C+IN SC 1068 (0067).

A continuation of C+IN SC 1068 (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.

Note: For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. lab.

2173. Object-Oriented Programming (4 s.h.) F S.

(Formerly: C+IN SC 0083.)

Prerequisite: Grade of C or better in C+IN SC 1073 (C081).

A continuation of C+IN SC 1073 (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 C+IN SC 2168 (0068).)

Note: For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

3203. Introduction to Artificial Intelligence (4 s.h.) $.

(Formerly: C+IN SC 0203.)

Prerequisite: Grade of C or better in C+IN SC 1166 (0066) and 2168 (0068); Grade of C or better in Mathematics 1042 (0086).

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.

3207. Introduction to Systems Programming and Operating Systems (4 s.h.) F S. $.

(Formerly: C+IN SC 0207.)

Prerequisite: Grade of C or better in C+IN SC 1166 (0066), 2107 (0072), and 2168 (0068); Grade of C or better in Mathematics 1042 (0086).

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.

Note: For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. lab.

3209. Component-Based Software Development (4 s.h.) F S.

(Formerly: C+IN SC 0209.)

Prerequisite: Grade of C or better in C+IN SC 2168 (0068), 2173 (0083), or an equivalent second-semester programming course in C++, C#, Java or VB.Net. Co-Requisite: C+IN SC 2109 (0109).

The objective of this course is to develop an understanding of how components work and how to program using components in an object oriented design and programming environment. A component is an executable unit of code that provides black-box encapsulation of related services. VB.NET (Visual Basic) will be used as the means to develop and understand both object oriented programming concepts and components.

Note: For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

3211. Automata, Computability, and Languages (3 s.h.) S.

(Formerly: C+IN SC 0211.)

Prerequisite: Grade of C or better in C+IN SC 1166 (0066), 2107 (0072), and 2168 (0068); Grade of C or better in Mathematics 1042 (0086).

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.

3219. Computer Graphics and Image Processing (4 s.h.)

(Formerly: C+IN SC 0220.)

Prerequisite: Grade of C or better in C+IN SC 1166 (0066), 2107 (0072), and 2168 (0068); Grade of C or better in Mathematics 1042 (0086).

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.

3223. Data Structures and Algorithms (4 s.h.) F S. $.

(Formerly: C+IN SC 0223.)

Prerequisite: Grade of C or better in C+IN SC 2166 (0166) or Mathematics 3098 (W205) and C+IN SC 2168 (0068); Grade of C or better in Mathematics 1042 (0086).

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.

Note: For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. lab.

3229. Operating Systems and Networking (4 s.h.) F S. $.

(Formerly: C+IN SC 0230.)

Prerequisite: Grade of C or better in C+IN SC 1068 (0067), 1073 (C081) or an equivalent first-semester programming course in C++, C#, Java or VB.Net. Co-Requisite: C+IN SC 2173 (0083).

This course provides an introduction to computer system architecture, operating systems concepts, and network organization, structure, and management.

Note: For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

3242. Discrete Structures (3 s.h.) F.

(Formerly: C+IN SC 0242.)

Prerequisite: Grade of C or better in C+IN SC 1166 (0066), 2107 (0072), 2168 (0068); Grade of C or better in Mathematics 1042 (0086).

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.

3281. Cooperative Education Experience in Computer & Information Sciences (4 s.h.) F S.

(Formerly: C+IN SC 0288.)

Prerequisite: Junior or Senior Standing and permission from the departmental Undergraduate Advisor.

In this course, students undertake directed study in Information Science and Technology, which integrates academic program and work experience. The course is coordinated by an Information Science & Technology faculty member, but supervised by the studentís work supervisor. At the end of the semester students will turn in a final report detailing the work done on the project.

Note: Elective for Information Science and Technology Major.

4282. Independent Study (1 to 6 s.h.) F S SS.

(Formerly: C+IN SC 0397.)

Prerequisite: Consultation with faculty member and approval of department chairperson.

Research under supervision of a faculty member.

4296. Information Systems Analysis and Design (4 s.h.) F S. Core: WI. $.

(Formerly: C+IN SC W281.)

Prerequisite: Grade of C or better in C+IN SC 2109 (0109), 3209 (0209) and 3229 (0230). Co-Requisite: C+IN SC 4309 (0309).

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: Duplicate Course: No credit for students who have completed C+IN SC 4298 (W338). For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

4298. Software Engineering (4 s.h.) F S. Core: WI. $.

(Formerly: C+IN SC W338.)

Prerequisite: Grade of C or better in C+IN SC 3207 (0207) and 3223 (0223).

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.

Note: Duplicate Course: No credit for students who have completed C+IN SC 4296 (W281). For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. lab.

4305. Real Time Computer Systems (4 s.h.)

(Formerly: C+IN SC 0305.)

Prerequisite: Grade of C or better in C+IN SC 3207 (0207) and 3223 (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.

4307. Introduction to Distributed Systems and Networks (4 s.h.) F S. $.

(Formerly: C+IN SC 0307.)

Prerequisite: Grade of C or better in C+IN SC 2166 (0166), 3207 (0207) and 3223 (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.

Note: For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. lab.

4308. Development of Multi-tier Client/Server Systems (4 s.h.)

(Formerly: C+IN SC 0308.)

Prerequisite: Grade of C or better in C+IN SC 3207 (0207) and 3223 (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.

4309. Client/Server and Net-Centric Computing (4 s.h.) F S.

(Formerly: C+IN SC 0309.)

Prerequisite: Grade of C or better in C+IN SC 3209 (0209) and 3229 (0230).

The objective of this course is to teach web deployment of client/server application systems. It includes: a basic review of internet communications and the architecture of client and server sites the functions of and relationships among the browser, web server, operating and file systems, middleware, database server, and application servers. The course is divided into 3 parts. First, is a review of concepts involving various types of client/server side processing and remote connectivity methodologies, including scripting languages, HTML, Dynamic HTML, XML, ASP.NET, and VB.NET. Second is learning the ASP.NET language and extending the use of VB.NET Components and the VS.NET development tool to web based systems. Third is the development of some small projects with these technologies.

Note: For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

4319. Computer Networks and Communications (4 s.h.) $.

(Formerly: C+IN SC 0320.)

Prerequisite: Grade of C or better in C+IN SC 3207 (0207) and 3223 (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.

4324. Compiler Design (4 s.h.)

(Formerly: C+IN SC 0324.)

Prerequisite: Grade of C or better in C+IN SC 3223 (0223).

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.

4329. Network Architectures (4 s.h.)

(Formerly: C+IN SC 0330.)

Prerequisite: Grade of C or better in C+IN SC 3229 (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 Major. Mode: 3 hr. lecture, 2 hr. lab.

4331. Principles of Database Systems (4 s.h.) F S. $.

(Formerly: C+IN SC 0331.)

Prerequisite: Grade of C or better in C+IN SC 3207 (0207) and 3223 (0223).

This course will cover the fundamental concepts of database systems, with an emphasis on relational database systems. It will cover both the theory and practice of relational databases, including Coddís original relational model, the relational algebra and calculus, and normalization. Students will learn how to do database design using the (extended) entity-relationship model. There will be a semester-long project in which students will design and implement an actual database, using an existing relational database management system, such as Access, MySQL, or Oracle.

Note: Duplicate Course: No credit for students who have completed C+IN SC 2109 (0109). Mode: 3 hr. lecture, 2 hr. lab.

4339. Projects in Computer Science (4 s.h.) F S. $.

(Formerly: C+IN SC 0339.)

Prerequisite: Grade of C or better in C+IN SC 4298 (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 C+IN SC 4298 (W338) and to perform initial specification and analysis of their projects in C+IN SC 4298 (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.

Note: Duplicate Course: No credit for students who have completed C+IN SC 4396 (W381). For Computer and Information Sciences Major. Mode: 3 hr. lecture, 2 hr. lab.

4340. Seminar in Information Science & Technology (4 s.h.) F S.

(Formerly: C+IN SC 0345.)

Prerequisite: Grade of C or better in C+IN SC 3209 (0209) and 3229 (0230).

Current problems in information science and technology.

Note: Elective for Information Science and Technology Major.

4342. Networked Application Systems (4 s.h.)

(Formerly: C+IN SC 0342.)

Prerequisite: Grade of C or better in C+IN SC 4309 (0309).

The objective of this course is to provide further depth, beyond C+IN SC 4309 (0309), into the development of network deployed systems. Its emphasis is on distributed, multi-tier architectures. The course is divided into 3 parts. First is the theory associated with protocols, architectures, middleware, and database transactions. These include such topics as HTTP, SOAP, DNA, Multi-tiered architecture, Web Services, .NET Framework, .NET Remoting ADO.NET and COM+. The second part is a deeper knowledge of the ASP.NET and VB.NET languages beyond C+IN SC 4309 (0309). This would include (1) application system design, construction and packaging via .NET assemblies, server controls, and custom controls, (2) component and data distribution via COM+, XML, SOAP, Web Services and .NET Remoting, (3) database transactions via ADO.NET, and (4) report generation via Crystal Reports. The third part of the course is a project that the student will perform in the design and programming of a distributed application.

Note: For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

4344. Client/Server Scripting Languages for Web Development (4 s.h.)

(Formerly: C+IN SC 0344.)

Prerequisite: Grade of C or better in C+IN SC 3209 (0209) and 3229 (0230).

The objective of this course is to provide the student with an in-depth analysis of the static Hypertext Markup Language (HTML) in addition to the major Internet Client Side and Server Side Dynamic Scripting Languages. An in depth overview of the Extensible Markup Language (XML) and its anticipated impact on future web development will also be covered. Client Side JavaScript topics include variables, functions, methods and events, controlling program flow through decision making, the JavaScript document object model (DOM), JavaScript language objects, developing interactive forms, creating cookies, JavaScript security, controlling frames and framesets using JavaScript, DHTML scriplets, creating custom JavaScript objects and object-based JavaScript. Server Side VBScript/ASP topics include ASP applications, virtual directories, application and session level ASP objects, using the global.asa file to handle application and session events, creating cookies, ASP intrinsic objects, ActiveX Data Objects and ASP error handling.

Note: Elective for Information Science and Technology Major. Mode: 3 hr. lect., 2 hr. lab.

4350. Seminar on Topics in Computer Science (4 s.h.) F S. $.

(Formerly: C+IN SC 0350.)

Prerequisite: As proposed by the instructor and approved by the Computer and Information Sciences undergraduate committee.

Current problems in computer science.

Note: Elective for Computer and Information Sciences Major.

4362. Application System Development Using Relational Technology (4 s.h.)

(Formerly: C+IN SC 0362.)

Prerequisite: Grade of C or better in C+IN SC 2109 (0109) or 4331 (0331).

This course will assist in achieving a significant level of understanding and synergy of a variety of Oracle tools, environments and languages including SQL*Plus, PL/SQL, Oracle Forms and Reports. As a parallel line it will be supported by a course project done in a team environment where every team member will do independent work in addition to learning how to work in a team. The course project will include a functional requirements specification, database design, SQL queries, SQL-based listings and reports, reports developed using Oracle Reports, on-line interface using Oracle Forms, and PL/SQL code supporting the developed application system.

Note: Elective for Information Science and Technology Major. Mode: 3 hr. lect., 2 hr. lab.

4372. C++ Applications Programming (4 s.h.)

(Formerly: C+IN SC 0372.)

Prerequisite: Grade of C or better in C+IN SC 3209 (0209) and 3229 (0230).

The C++ programming language is used extensively for interest and applications programming. This course is aimed at providing students with the object-oriented programming experience needed in applying C++ to these problem areas. The objectives are two-fold. One aim is to enhance the student`s ability to organize large scale programming tasks using the object oriented approach. The second aim is to further the student`s ability to develop error-free maintainable code.

Note: Elective for Information Science and Technology Major. Mode: 3 hr. lect., 2 hr. lab.

4376. E-Commerce System Development (4 s.h.)

(Formerly: C+IN SC 0382.)

Prerequisite: Grade of C or better in C+IN SC 4309 (0309).

The objective of this course is to teach the technical aspects of developing a commercial website. This process combines a number of technologies: (1) Web page and style sheet design, (2) dynamic web pages that access data from relational and XML databases, (3) client and server side transaction processing, (4) principles of internet security, scalability, and database reliability, (5) distributed component integration using packages for major functions such as credit card validation, shopping cart management, order fulfillment and inventory management. Students will develop a site as a course project. They will use the Microsoft Visual Studio.NET as the principal software development tool. This includes the ASP.NET and VB.NET languages. Tools to perform the other tasks include Front Page for web design, an XML editor for XML pages, and the Microsoft Enterprise Manager for the management of SQL Server databases and VS.NET component deployment. The course will provide numerous online references to all of these languages and tools.

Note: Elective for Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.

4378. Computer and Network Security (4 s.h.)

(Formerly: C+IN SC 0386.)

Prerequisite: Grade of C or better in C+IN SC 3229 (0230). Co-Requisite: C+IN SC 4329 (0330).

This course provides an introduction to the inherent insecurities in todayís computer systems and networks, and the commonly used tools and techniques used to secure them. Topics include cryptography basics, virtual private networks, secure sockets, email security, firewalls, building secure software, kerberos, web server security, viruses, intrusion detection systems, and privacy issues.

Note: Elective for Information Science and Technology Major. Mode: 3 hr. lect., 2 hr. lab.

4382. Independent Study (1 to 6 s.h.) F S SS.

(Formerly: C+IN SC 0398.)

Prerequisite: Consultation with faculty member and approval of department chairperson.

Research under supervision of a faculty member.

4396. Information Systems Implementation (3 s.h.) F S. Core: WI.

(Formerly: C+IN SC W381.)

Prerequisite: Grade of C or better in C+IN SC 4296 (W281) and 4309 (0309).

This is a capstone course where teams of students implement the information system for which they developed specifications in C+IN SC 4296 (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: Duplicate Course: No credit for students who have completed C+IN SC 4339 (0339). For Information Science and Technology Major. Mode: 3 hr. lecture, 2 hr. lab.
[Back] [Top]