CSCI 109—Principles of Computer Science (3 CH)
An introductory survey course in which computers and their consequences are viewed in terms of their historical and societal impact. The course emphasizes principles as opposed to technical training. A range of topics in computer science will be covered including history, application software, programming, artificial intelligence, and the impact of computers on society. This course is appropriate for anyone interested in gaining insight into the discipline of computer science. Offered every spring. (P: MATH 107 or satisfactory placement score)
CSCI 139—Web Design and Development (3 CH)
This course provides a laboratory-based introduction to web page design and development. Topics covered include HTML language fundamentals, an HTML editor, a graphics editor, JavaScript programming and Dynamic HTML. This course is appropriate for all students who wish to develop web pages. Students will be required to complete a major web-based project for the course. Offered every fall. (P: MATH 107 or satisfactory placement scores.) (WIC)
CSCI—159 Introduction to Programming (4 CH)
An introduction to the principles of structured programming focusing on control abstraction. Language elements covered include data types, control structures, elementary data structure, functions and parameter passing. Offered every spring. (P: MATH 107 or satisfactory placement scores.)
CSCI—169 Data Structures (4 CH)
Advanced study of structured programming focusing on data abstraction and using object-oriented techniques. Language elements studied will foster skill in developing abstract date types. Students will implement and use stacks, queues, and trees to perform a variety of tasks including sorting and searching. Special emphasis will be placed on evaluating the appropriateness of an implementation. Offered every fall term. (P: CSCI 159)
CSCI 179—Programming in Visual Basic (4 CH)
This course provides an introduction to the Visual Basic language and its applications in the solution of a variety of information processing tasks. Emphasis is on object-oriented and event-driven programming concepts. In addition to mastering the language, the student will learn techniques for designing, writing and debugging computer programs. Note: It is the department's intent to offer this course every fall beginning in the 2009-10 academic year. (P: MATH 107 or satisfactory placement score.)
CSCI 189—Java Programming (4 CH)
This course will provide the opportunity for students to learn an object-oriented programming language. The course will focus on developing Java applications and applets. Topics included are: object-oriented programming, classes, objects, instances, methods, applets and applications, control structures in Java, Java arrays, strings and characters, graphics, multimedia, exception handling, files and streams, and GUI and event-driven programming. Offered in the fall of even-numbered years. (P: MATH 107 or satisfactory placement score.)
CSCI 269—Theory of Programming Languages (4 CH)
A thorough study of the design and implementation of high-level programming languages. In order to write efficient, well engineered programs, it is necessary to understand how programming languages work. The course will focus on syntactic and semantic specification of language constructs and the implementation of data types, control structures, and sub-programs. Examples will be drawn from several languages to illustrate different approaches to solving common programming language problems. Offered in the spring of odd-numbered years. (P: CSCI 169 and CSCI 109)
CSCI 319—Database Management (4 CH)
An introduction to issues in the design and implementation of database management systems. Major topics include database system components, conceptual modeling, database applications, normal forms and the societal impact of database systems. Emphasis is given to the relational data model. Students are required to use a high-level language to write programs to access databases. Offered fall of odd-numbered years. (P: One of CSCI 169 or CSCI 179 or CSCI 189 and one of CSCI 109 or CIS 129)
CSCI 331—Web Programming (4 CH)
This course introduces students to server-side web programming techniques. Topics covered will include accessing back-end databases to make Web pages dynamic, creating and processing web forms, methods of web form validation, creating and using web services, maintaining session state, methods of web application security, and data transfer over the Web via XML. Offered spring of even-numbered years. (P: CSCI 139, CSCI 319)
CSCI 347—Theory of Computation (3 CH)
A study of the theory of computation; including algorithms, Turing machines, foundational languages, computable functions, Church's thesis, and some unsolvable problems. Offered in the spring of even-numbered years. (P: MATH 221 and one of CSCI 159 or CSCI 179 or CSCI 189 and one of CSCI 109 or CIS 129)
CSCI 351—Information Systems Security and Forensics (3 CH)
Computer systems are susceptible to unauthorized use, misuse, modification or denial of use of knowledge, data, or capabilities. Responsible deployment and management of systems require that system administrators protect data from malicious attacks as well as inadvertent loss or natural disasters. This course will examine current security threats and best practices in managing security on standalone and networked computer systems. Offered in the Spring term of every even-numbered year. (Prerequisite: one of CSCI 109, CIS 129 and one of CSCI 169, CSCI 179 or CSCI 189). (Recommended: CSCI 427 and/or CSCI 439). (WIC)
CSCI 369—Design and Analysis of Algorithms (3 CH)
A review and continuation of complexity analysis, and an introduction to different strategies used to construct algorithms in the solution of computer-solvable problems. Types of algorithms considered include greedy, divide-and-conquer, and backtracking as well as those appropriate for heuristic searching. Offered spring of odd-numbered years. (P: MATH 221 and CSCI 169 and CSCI 109)
CSCI 419—Computer Organization with Assembler (4 CH)
An examination of the interrelated physical components of a computer with an introduction to assembly language. Proper understanding of how computers internally process data aids program developers in designing efficient solutions to problems. The student will gain an understanding of digital logic, digital systems, machine organization, interfacing, and communication by developing assembly language programs which will manipulate these aspects of the computer. Offered fall of every even-numbered years. (P: MATH 221 and one of CSCI 169 or CSCI 179 or CSCI 189 and one of CSCI 109 or CIS 129)
CSCI 427—Operating Systems (3 CH)
The design and implementation of operating systems are studied. Special emphasis is placed on the basic principles involved in memory, processor, input-output and file system management. Offered spring of odd-numbered years. (P: One of CSCI 169 or CSCI 179 or CSCI 189 and one of CSCI 109 or CIS 129) (WIC)
CSCI 431—Professional Web Portfolio (3 CH)
This course is designed as a capstone course for students in the Web Development major. Students will focus on creating 1-3 major web application projects that showcase their skills in the creation of dynamic, data-driven web applications and e-commerce storefronts. Concepts covered will include: shopping carts, product catalogs, product spotlights, wish lists, discount specials, the checkout process, and tracking orders. Students will learn about the life cycle of a web application project and its necessary documentation, including design and technical specifications. Students will be exposed to working within a team development environment, and will learn how to give technical presentations to both team and management audiences. By the end of the course, students will have constructed a professional portfolio of their work suitable for use in the interviewing process for positions in the field of web development. Offered spring of every odd-numbered years. (P: CSCI 331 and CIS 201)
CSCI 439—Data Communication and Networks (3 CH)
An introduction to data communications principles, network design, and network management. Topics include data communications concepts, terminology, and standards; network topologies and protocols with an emphasis on the ISO/OSI layered model; error correction and detection techniques; security issues and compression. Specific networks are studied as illustrations of these concepts. (P: One of CSCI 169 or CSCI 179 or CSCI 189 and one of CSCI 109 or CIS 129) Offered in the fall of every odd-numbered year.
CSCI 498—Cooperative Education (CH Variable)
Placement of the student in an environment that provides experience in some aspect of management information science. This could be in the form of an assignment taken as part of the regular term course load spanning more than one term or one that requires a full-time commitment for a single term. Such experiences are arranged through the Cooperative Education Office and supervised by a member of the computer science faculty.
CSCI 499—Independent Study (CH Variable)
Independent project or reading program in computer science or management information systems conducted under the supervision of a faculty member of the Department of Mathematics and Computer Science. The student must meet the college's requirement for independent study and must have the permission of the faculty supervisor and the department chairperson.
|