CS 110 Introduction to Computers
Designed for nonscience majors, the course emphasizes the computer’s capabilities, limits, and its impact on society. Personal computer productivity software is used to demonstrate the influence of computers on society. Students are also provided an introduction to the Internet through the use of a Web browser and an e-mail facility. Not open to students who have completed a higher-level CS course.
3 Credits
Prerequisite: None
CS 111 Programming Foundations
An introductory computer programming course designed for students with no prior programming background. Emphasis will be placed on problem solving and the translation of solutions into a programming language. Topics include data types, input/output, control structures, loop structures, and program modularity. This course may be used to prepare the student with no prior programming experience for CS 114 or as a one-semester exposure to programming.
3 Credits
Prerequisites: 1) Two years of high school algebra with an average grade of at least B and 2) a high school computer course or CS 110. Not open to students who have completed a higher-level CS course.
CS 114 Computer Programming I
An introductory course, with laboratory, covering the fundamentals of problem solving using a computer. The programming language used is the current base language for the department. Although language-specific, the course emphasizes general programming methodology and concepts common to all programming languages: algorithms, top-down structured program design, modularity, efficiency, testing and debugging, user friendliness. Topics include organization and hardware; input and output; subprogram units (functions), control structures; compound data types. By the end of the course, the object-oriented paradigm is introduced. Some programming, in any language, is recommended; familiarity with quantitative reasoning is required.
4 Credits
Prerequisite: M 110 or two years of high school algebra.
CS 115 Computer Programming II
A second course, with laboratory, in the fundamentals of problem solving using a computer. The programming language used is the current base language for the department. This course continues to emphasize language-independent programming techniques while building the students’ knowledge of the current base language. The ideas of objects, classes, and inheritance, introduced in CS 114, are developed more fully. Pointers, dynamic memory allocation, recursion, and basic data structures are introduced.
4 Credits
Prerequisite: CS 114 (minimum grade of C).
CS 175 Introduction to Internet Programming
This course will introduce the student to current programming models used to generate and support rich real-world web based applications. The course will focus on important HTML tags and concepts including tables, frames, forms and cascading style sheets. The Common Gateway Interface (CGI) will be presented as a means of transferring data to and from client-server applications. Coverage will include an in depth examination of client-side programming using a current ECMA (European Computer Manufacturers Association) compliant scripting language, such as JavaScript, to create and customize Web pages, generate dynamic pages, and validate the integrity of CGI data.
3 Credits
Prerequisite: CS 111 or permission of instructor.
CS 211 Architecture and Assembly Language
Architecture topics to include CPU and ALU design and operation, instruction sets, microcode, cache memory, arithmetic, instruction and data formats. Architectural principles are illustrated with the study of a specific assembly language, currently that of the 80x86.
4 Credits
Prerequisites: CS 114 and CS 115 or permission of instructor.
CS 220 Data Structures
The study of linear lists (stacks, queues); static versus dynamic allocation; garbage collection; sparse matrices; prefix, postfix and infix formulas; recursion and recursive algorithms; trees (binary and other representations of trees, traversal of trees); hashing; searching; sorting (bubblesort, quicksort, heapsort, mergesort); analysis of algorithms in terms of time and space complexity; graphs (representation of graphs, topological sorting, reachability, critical path algorithm).
3 Credits
Prerequisite: CS 115 (minimum grade of C).
CS 320 Concepts of Programming Languages
Introduction to programming language paradigms including imperative, functional, object-oriented, logic, and concurrent. Example languages of each paradigm are compared and contrasted. Abstract programming language description is introduced.
3 Credits
Prerequisite: CS 220
CS 330, 331 Studies in Computer Science
Concentrated studies in areas of computer science such as design and analysis of algorithms, advanced operating systems, database theory, computer architecture, comparative languages, database management systems, computer networks, Internet programming, and software engineering.
3 Credits
Prerequisites: CS 115, M 221, or permission of instructor.
CS 340 Formal Languages and Automata
This course provides an introduction to theoretical computer science. Languages, grammars, and automata will provide a background for a discussion of parsing. Related areas also covered include recursive definitions, Turing machines and decidability.
3 Credits
Prerequisites: M 221, CS 115.
CS 351 Introduction to Artificial Intelligence
This course will introduce the basic principles in artificial intelligence research. It will cover simple representation schemes, problem solving paradigms, constraint propagation, and search strategies. Areas of application such as knowledge representation, natural language processing, expert systems, vision and robotics will be explored. The LISP programming language will also be introduced.
3 Credits
Prerequisite: CS 220 or permission of instructor.
CS 355 Computer Networks
This course provides a solid foundation in the design and implementation of a computer network. Topics will focus on network standards and standardization bodies; a layered network architecture; circuit and packet switching; streams and datagrams; physical media and network access; media access and LAN addressing; internetworking and routing; and transport layer services. Also presented are application layer protocols used on the web, file transfer, and electronic mail; and network security including cryptography, encryption, and authentication protocols.
3 Credits
Prerequisites: CS 114, CS 115, CS 211, CS 220.
CS 360 Software Development
This course focuses on the development of large-scale software that is reliable, understandable and maintainable. Procedural and object-oriented paradigms are used to illustrate design approaches. Students will work in teams and will develop software on at least two platforms. Abilities and knowledge gained in the other computer science courses will be integrated with a series of comprehensive system development projects. Students will be required to present their project work to the class. Project organization, professional standards and ethics will also be covered.
3 Credits
Prerequisite: CS 220.
CS 362 UNIX Internals
An in-depth study of the UNIX operating system and associated software tools. Topics covered include UNIX-C interface (standard UNIX subroutines, system calls, C library); writing shell scripts; using UNIX tools (awk, sed, grep, tr, nroff); writing/developing software tools and system security. It is assumed that the student has a working knowledge of programming in C/C++.
3 Credits
Prerequisites: CS 220 or equivalent experience and permission of instructor.
CS 365 Principles of Database Systems
This course provides a solid background in the theory, design, and programming of database systems with a focus on relational databases. The relational data model and Entity-Relationship diagrams will be covered. Other data models including the object-oriented model will be presented. The course introduces database query languages, including an in-depth coverage of the Structured Query Language (SQL). Other database topics covered include storage and indexing techniques, transaction management, and database interface with application programs.
3 Credits
Prerequisites: CS 114, CS 115 and CS 220 or permission of instructor.
CS 371 Computer Graphics
An introduction to fundamental aspects of three-dimensional computer graphics, including the implementation of basic graphics algorithms, geometrical transformations and projections, representations of curves and surfaces, lighting models, and graphical interaction. Theory is applied via the development of programs using a graphics package such as OpenGL or DirectX.
3 Credits
Prerequisite: CS 220.
CS 375 Internet Programming Concepts
This course will explore, in depth, current client/server-side programming paradigms for creating World Wide Web aware applications. The development of client-side web pages using the current version of HTML and a web scripting language will be addressed. The Document Object Model (DOM) and its role in dynamic HTML (DHTML) will be presented. The Common Gateway Interface (CGI), as a vehicle to transfer client-server data, will be examined. Server-side programming will focus on the Java Servlets API for the development of dynamic web pages, the creation and processing of HTML forms, and general client-server communications. Servlet filters and security will be discussed. The development of applications using reusable software programs will be presented.
3 Credits
Prerequisite: CS 220 or permission of the instructor.
CS 451 Computer Operating Systems
Characteristics and design of objectives of operating systems. Serial and parallel processes. Deadlock detection, prevention, and avoidance. Scheduling, long and short term. Memory management. Executive multiprogramming and multiprocessor systems. A comparison of major operating systems.
3 Credits
Prerequisites: CS 211 or EE 332, and CS 220 and CS 360.
CS 480, 481 Independent Study in Computer Science
The study of more advanced Computer Science topics under the direction of a faculty member.
Prerequisites: Advanced standing and approval of the department.
1-3 Credits
CS 100, 200, 300, 400, 500
Cooperative Education Program
These courses are intended for students in the Cooperative Education Program. The program is designed to provide the students with an exposure to computer-related problems at commercial computer installations wherein they can utilize the skills and concepts they have learned. The courses carry from 1 to 3 credits. The actual number awarded is decided by the faculty coordinator and based upon the level of the students’ involvement. Cooperative Education courses may not substitute for CS course requirements in the major.
All courses must be taken on a Pass/No Pass basis.
1-3 Credits
Prerequisites: Sophomore standing, 2.5 GPA.
CS 190, 191, 290, 291, 390, 391, 490, 491
Special Topics in Computer Science
Possible topics include those within computer graphics, data communications, formal theory of languages, computer architecture, theory of automata, modeling, simulation, artificial intelligence, and algorithm analysis.
1-4 Credits
Prerequisite: Permission of instructor.
|