Ithaca College

School of Humanities and Sciences

Computer Science Courses

COMP-10500 Introduction to Website Development NS LA

Introduction to the Internet, web browsers, and using the Internet as a research resource. Students study web page design techniques and concepts and use these to develop web pages with basic HTML and more advanced features such as tables, frames, forms, and style sheets. The basics of storing and displaying graphics including file formats for graphics files, creating images for the web, and optimizing colors and size for display on browsers. The use of scripting languages such as JavaScript is introduced. Prior experience using Microsoft Windows or the Mac OS is expected. Students who have completed or are taking COMP-20500 may not receive credit for this course. Students may not receive credit for both this course and MGMT-26000. 3 credits. (F-S,Y)

COMP-10600 Introduction to Multimedia Programming NS LA

Introduces applications that produce text, sound, graphics, animation, and movies on the computer. A multimedia scripting language and a development environment necessary to combine the media into an interactive application are studied. Programming concepts (abstractions, control mechanisms, data structures), problem decomposition, and design concepts (user interface design and the integration of media) are discussed and utilized. Previous computer experience is assumed. 4 credits. (S,Y)

COMP-11000 Computers and Information Technologies NS LA 2b

Develops student expertise in the use of a computer and the major software tools used for personal and professional productivity, with an emphasis placed on spreadsheets and database management systems. Includes an introduction to the components of a computer system and to social and ethical issues surrounding the use of a computer. Students may receive credit for only one of the following courses: COMP-11000, PHED-13900, TRLS-13900, HLTH-13900, EXSS-13900. Students who have already taken COMP-20100 cannot receive credit for this course. Prerequisites: 3 credits. (F-S,Y)

COMP-11500 Discrete Structures for Computer Science NS LA 2b

An introduction to discrete structures for computer science. The major topics of study include sets, proof techniques, logic, predicate logic, relations and functions, counting and probability, matrices, and induction. Prerequisites: Group 2 or 1 on the math placement exam. 4 credits. (F-S,Y)

COMP-17100 Principles of Computing Science I NS LA 2b

A disciplined introduction to problem-solving methods and program development. Topics include standard control structures, basic data structures, algorithms and abstraction mechanisms, testing, and an introduction to algorithm analysis. 4 credits. (F-S,Y)

COMP-17900 Topics: Computer Languages U LA

The syntax, data structures, and distinctive features of a specific programming language chosen from those not given detailed coverage in any regularly offered computer science course. Programming assignments develop students' skills in the language and illustrate typical applications. Possible languages include C++, LISP, and PROLOG. Restricted to students who have not already taken a course treating in detail the language offered by this course. May be repeated for credit with different languages. Prerequisites: COMP-17100. 1 credit. (IRR)

COMP-18000 Java Programming U LA

The study of the syntax, data structures, and distinctive features of the Java programming language. Programming assignments develop students' skills in Java and illustrate typical Java applications. Prerequisites: COMP-17100. 1 credit. (IRR)

COMP-19000, COMP-29000, COMP-39000, COMP-49000
Topics in Computer Science NS LA/NLA

Topics to be determined by the instructor and the Department of Computer Science. May be repeated for credit for selected topics on different subjects. Prerequisites: As appropriate to topics. 1-4 credits. (IRR)

COMP-19200, COMP-29200, COMP-39200, COMP-49200 Independent Study in Computer Science U L A

Enrichment and extension of the regular curriculum to areas not covered in existing courses. Arranged individually between student and faculty sponsor according to guidelines available from the department. 1-4 credits. (IRR)

COMP-20100 Technology for the Middle/Secondary
School Teacher NS LA

Introduction to the concepts and skills necessary for applying information technology in educational settings. Topics include basic computer/technology operations and concepts including terminology, access and manipulation of data, installation and use of software, basic troubleshooting, use of a variety of peripheral devices, and social and ethical issues. Pedagogical studies of technologies. Projects require integrating application software problem-solving skills, concepts, and technical skills and relating them to some aspect of the teaching profession. Students who have completed COMP-11000 should consult with the computer science department and the coordinator of teacher education before enrolling in this course. Prerequisites or corequisites: One course with a field experience component from the humanities and sciences teaching option program. 2 credits. (F-S,Y)

COMP-20500 Advanced Web Programming NS LA

Introduction to the creation of interactive and dynamic web pages. Students study the technologies and concepts necessary to add interactive scripts to web pages (client-side programming), receive and supply information to web pages (server-side programming using scripting), and store information (database creation). Prerequisites: COMP-17100, or COMP-10500 and COMP-10600. 4 credits. (S,Y)

COMP-21000 Introduction to Computer Organization and Systems NS LA

Computer structure and organization. Investigation of operating systems including processes, memory management, and file systems. Prerequisites: COMP-22000 or COMP-22500. 4 credits. (S,Y)

COMP-22000 Introduction to Data Structures NS LA

This course covers basic data structures including stacks, queues, trees, and graphs. Fundamental algorithmic techniques, such as sorting and searching, are also covered. Prerequisites: COMP-17100; COMP-11500 or MATH-11100 (may be taken concurrently). 4 credits. (S, Y)

COMP-22500 HCI: User Interface Design and Development NS LA

This course presents the fundamental concepts of design, prototyping, evaluation, and implementation of user interfaces (UIs), which are part of the field of HCI (human-computer interaction). Topics of study include user-centered design, task analysis, prototyping, interface design principles, user testing, interface metaphors, windows and event-driven programming, and heuristic evaluation. Principles of human perception and cognition are applied to user interface design. Web interface designs and 3-D user interfaces are also studied. Prerequisites: COMP-17100; COMP-18000; COMP-20500 or COMP-22000. 4 credits. (F,Y)

COMP-23400 Ethical Issues in the Computing Field NS LA

The seminar acquaints students with many of the ethical issues faced by professionals in the computing field. Students are required to formulate and support positions on these issues, both orally and in writing. Readings explore differing opinions and issues of controversy among computer professionals. Prerequisites: COMP-17100. 3 credits. (S,Y)

COMP-24500 Introduction to Software Engineering NS LA

An introduction to the software development process, focusing on analysis, design, programming, and testing of a medium-scale team project. Object-oriented software engineering practices are discussed, with an emphasis on the unified process, use case-based design and the unified modeling language (UML). Testing, risk analysis, and design patterns are also addressed. Prerequisites: COMP-18000; COMP-17100; and either COMP-22000 or COMP-22500. 4 credits. (F,Y)

COMP-31000 Implementation of Computer Operating Systems NS LA

In-depth investigation of the major concepts, algorithms, and implementation principles of computer operating systems. Both theoretical and practical aspects of operating systems are considered; students undertake substantial programming projects to illustrate concepts. Topics include scheduling; resource and storage allocation; problems of resolving deadlock, exclusion, and synchronization; memory allocation; secondary storage implementation; and distributed system structures. Prerequisites: COMP-21000. 4 credits. (S,O)

COMP-31100 Algorithms and Data Structures NS LA

Analysis of major algorithms and data structures for primary memory. Data structures include graphs, dynamic hash tables, and balanced tree structures. Other major topics are algorithm design techniques (greedy method, divide/decrease and conquer, recursion and dynamic programming, branch and bound, and approximation algorithms). Prerequisites: COMP-22000 and COMP-11500. 4 credits. (F,Y)

COMP-31500 Computer Graphics NS LA

An introduction to the fundamentals of computer graphics, two-dimensional and three-dimensional algorithms for geometry, transformations, and viewing and lighting. The emphasis is on real-time, event-driven graphics techniques. Programming projects provide hands-on experience in the topics covered. Prerequisites: COMP-22000; COMP-11500 or MATH-26000. 4 credits. (F,O)

COMP-32100 Programming Languages NS LA

An intermediate-level course in programming language constructs, including design issues, paradigms and corresponding machine models, language constructs, syntax, and semantics. Includes a survey of actual programming languages representative of common paradigms, critically comparing the design choices and features unique to each. Algorithmic, functional, and logical languages are considered. Prerequisites: COMP-21000. 4 credits. (S,Y)

COMP-34400 Computer Architecture NLA

Investigates the design and organization of computer hardware. Reviews computer organization issues; provides an overview of data representation, addressing modes, subroutine calling mechanisms, and a thorough introduction to digital logic; examines in detail the major components of a computer (including arithmetic logic units, control units, and memory). Prerequisites: COMP-21000. 4 credits. (S,E)

COMP-36500 Computer Networks NS LA

Basic concepts of computer networks and data communications. The major topics include transmission media, error detection, routing, client-server models, remote execution, and encryption. Includes a discussion of characteristics of local and wide area networks, heterogeneous networks, and case studies of current networks. This course contains a laboratory component that includes topics such as network configuration, topologies and protocols, and installation of networks. Prerequisites: COMP-21000. 4 credits. (F,Y)

COMP-37000- COMP-47000 Computer Project U NLA

After consultation with the computer science faculty, a project is undertaken to design and implement a substantial computer application under the guidance of one or more faculty members. Prerequisites for COMP-37000: Junior standing; permission of the computer science faculty. Prerequisites for COMP-47000: Senior standing; permission of the computer science faculty. 1-3 credits. (F-S,Y)

COMP-37500 Database Systems NS LA

Study of the basic concepts involved in database systems, including database architecture, data models, database design, and query techniques. The course includes practical experience through a semester-long team project to design and implement a database and related applications using SQL. Prerequisites: COMP-17100; COMP-22000 or COMP-22500. 4 credits. (S,Y)

COMP-41100 Formal Languages and Automata NS LA

Introduction to theoretical computing science examining (with some mathematical rigor) the basic models of computation and exploring the capabilities and limitations for computers. Finite automata, regular languages, regular grammars, undecidability, and other structural properties are examined. Prerequisites: COMP-31100. 4 credits. (F,E)

COMP-42000 Compiler Theory NS LA

Study of the principles and techniques of compiler construction. Topics include lexical analysis, parsing, semantic analysis and intermediate code generation, run-time environments, code generation, code optimization, and error recovery. Prerequisites: COMP-32100. 4 credits. (F,O)

COMP-43000 Virtual Reality NS LA

This course introduces the fundamental concepts of virtual reality (VR) with an emphasis on the interdisciplinary nature of VR system development and applications. Topics include survey and analysis of VR hardware, software, and methodologies; advanced topics in computer graphics; interaction and navigation within VR; simulation and behaviors in virtual worlds; human perception; and applications of VR. The course includes hands-on experience programming a VR project utilizing the department's VR laboratory. Prerequisites: COMP-31500. 4 credits. (S,E)

COMP-46100 Systems Analysis and Design NS LA

Study of the analysis and design of business-oriented systems. The major topics include data flow analysis, the systems development life-cycle approach, qualities of good system design, and design strategies. This course also introduces students to structured analysis and design techniques. Prerequisites: COMP-37500. 4 credits. (F,Y)

COMP-47500 Senior Project NS LA

Offers students the opportunity to consolidate theory and apply concepts to a computer-based problem, thus enhancing their understanding of various facets of the computing discipline. Students are responsible for the analysis, design, development, documentation, implementation, and testing of the computer system. The project may be carried out singly or in small groups of up to four people. Prerequisites: Senior standing; permission of instructor. 3 credits. (F-S,Y)

COMP-49300-COMP-49400 Honors Course NS LA

Preparation of honors thesis in partial fulfillment of requirement for graduation with honors in computer science. Prerequisites: Honors standing in computer science. 1-2 credits. (IRR)

COMP-49800 Computer Science Internship for Majors NLA

A computer science project (carried out within an organization outside the department) that is not routine, entails significant work experience, and has substantial academic content. The student is responsible for developing a project proposal and completing it in conjunction with a faculty sponsor from the department and a supervisor from the outside organization. At the end of the project, the student shall present a report based on the experience. With departmental approval, up to 4 credits may be counted as upper-level elective credit toward a major in computer science or mathematics-computer science. Prerequisites: Permission of a faculty sponsor; completion of three-fourths of the required coursework for the major in computer science, computer information systems, or mathematics-computer science. 1-12 credits. (IRR)