Ithaca College

Ithaca College Home  >  Academics  >  Catalogs  > 

Search the catalog:

Introduction and Important Declarations

Ithaca College Academic Calendar

General Information

School of Business

Roy H. Park School of Communications

School of Health Sciences and Human Performance

School of Humanities and Sciences

Anthropology

Anthropology Courses

Art

Art Courses

Art History

Art History Courses

Biochemistry

Biochemistry Courses

Biology

Biology Courses

Chemistry

Chemistry Courses

Chemistry-Engineering Programs

Economics

Economics Courses

English

English Courses

History

History Courses

Mathematics-Computer Science

Mathematics

Mathematics Courses

Computer Science

Computer Science Courses

Modern Languages and Literatures

Linguistics Courses

French Courses

German Courses

Hebrew Courses

Italian Courses

Spanish Courses

Philosophy and Religion

Philosophy

Philosophy Courses

Religious Studies

Religious Studies Courses

Physics

Physics Courses

Politics

Politics Courses

Psychology

Psychology Courses

Sociology

Sociology Courses

Speech Communication

Speech Communication Courses

Teacher Education Program

Teacher Education Courses

Theater Arts

Theater Arts Courses

Writing

Writing Courses

Individual and Interdisciplinary Studies Programs

Environmental Studies

Women's Studies

Women's Studies Courses

Latin American Studies

Planned Studies Major

Community Service Program

Interdisciplinary Courses

School of Music

Center for the Study of Culture, Race, and Ethnicity

Center for Teacher Education

Division of Continuing Education and Summer Sessions

Gerontology Institute

International Programs

Student Aid

Student Information

Academic Information

Directory of Faculty and Administration

Ithaca College Undergraduate Catalog 2002-2003

Previous PageNext Page

Computer Science Courses

312-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 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. Prerequisites: Math placement in Group 3, 2, or 1. 3 credits. (F-S,Y)

312-11500 Discrete Structures for Computer Science   NS LA

An introduction to discrete structures for computer science. The major topics of study include statements and sets; proof techniques; predicate logic; relations and functions; counting and probability concepts; matrices; trees; and induction. Prerequisites: 313-11100 (or its equivalent) or math placement in Group 2 or 1. 4 credits. (F-S,Y)

312-13600 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. This course meets for three hours of lecture and two hours of laboratory every week. Prerequisites: Math placement in Group 3, 2, or 1. 4 credits. (S,Y)

312-13800 Introduction to Web 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. Prerequisites: Math placement in Group 3, 2, or 1. 3 credits. (F-S,Y)

312-17100 Principles of Computing Science I   NS LA

A disciplined introduction to problem solving methods and program development. In addition to standard control structures, data structures, algorithms, and abstraction mechanisms, topics include testing and an introduction to algorithm analysis and proofs of correctness. Prerequisites: Math placement in Group 2 or 1. 4 credits. (F-S,Y)

312-17400 Principles of Computing Science II   NS LA

A continuation of 312-17100 with emphasis on data structures. Topics include object-oriented programming, more advanced data structures, and formal techniques for program testing and algorithm analysis. Prerequisites: 312-17100; prior or concurrent enrollment in either 312-11500 or 313-11100. 4 credits. (F-S,Y)

312-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. Prerequisites: 312-17100. 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. 1 credit. (IRR)

312-18200 COBOL Programming   U LA

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

312-18300 C Language Programming   U LA

The syntax, data structures, and distinctive features of the C programming language. Programming assignments develop students' skill in C and illustrate typical C applications. Prerequisites: 312-17400. 1 credit. (IRR)

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

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

312-19200, 312-29200, 312-39200, 312-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)

312-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, 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 312-11000 should consult with the mathematics and computer science department and the coordinator of teacher education before enrolling in this course. Prerequisites: One course with a field experience component from the humanities and sciences teaching option program. 2 credits. (F-S,Y)

312-21000 Introduction to Computer Organization and Systems   NS LA

Computer structure and organization. Investigation of operating systems including processes, memory management, and file systems. Overview of network structures. Prerequisites: 312-17400; prior or concurrent enrollment in 312-11500. 4 credits. (F,Y)

312-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: 312-17100; either 377-10600 or 377-10700 or equivalent. 3 credits. (S-Y)

312-24500 Introduction to Software Engineering   NS LA

Provides an introduction to life-cycle models, requirements, analysis, and system specification concepts and concerns. Emphasis on the activities in the design, implementation and testing phases of the system life cycle. Students work in groups and individually on a variety of projects. Prerequisites: 312-17400; 312-11500. 4 credits. (S,Y)

312-28400 Assembly Language Programming   U NLA

Introduction to the syntax and distinctive features of an assembly language. Includes a discussion of addressing modes and methods of passing parameters to procedures. Programming assignments develop the student's skills in using an assembly language and illustrate the utility of lower-level programming. Prerequisites: 312-17400. 1 credit. (S,Y)

312-28500 Information Technology: Concepts and Principles   NS LA

Presents basic concepts and foundational theory of information technology and information systems. Develops expertise in the use of current programming tools and the application of spreadsheets, database, and event-driven object-based programming concepts within the overall structure of basic interface design concepts. Prerequisites: 312-17100. 4 credits. (S,Y)

312-30100 Theory of Computation   NS LA

Introduction to theoretical computing science examining (with some mathematical rigor) the basic models of computation and exploring the capabilities and limitations of computers. Finite automata, regular languages, regular grammars, undecidability, NP-completeness, and other structural properties are examined. Methods for circumventing theoretical limitations, such as probabilistic algorithms, are discussed. Prerequisites: 312-21000 or a level-3 mathematics course. 4 credits. (F,Y)

312-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: 312-21000. 4 credits. (S,O)

312-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) and an introduction to parallel algorithms. Prerequisites: 312-24500. 4 credits. (F,Y)

312-31500 Computer Graphics   NS LA

An introduction to the basic concepts of computer graphics. Two-dimensional algorithms, including output primitives, transformations, and others, are covered in detail. Three-dimensional algorithms are introduced. Prerequisites: 312-17400; either 312-21000 or 313-26000. 4 credits. (S,E)

312-32100 Programming Languages   NS LA

An intermediate-level course in the theory of programming languages and corresponding abstract machine models. Theory of parsing and grammar construction. The specification of language syntax and semantics. A survey of actual programming languages, typical high-level language constructs, and features unique to each. Both algorithmic and functional languages are considered. Prerequisites: 312-21000. 4 credits. (S,Y)

312-32500 HCI: User Interface Design and Development   NS LA

This course presents the fundamental concepts of design, prototyping, evaluation, and implementation of user interfaces which is 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: 312-11500; 312-17400. 4 credits. (S,Y)

312-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: 312-21000. 4 credits. (S,E)

312-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: 312-21000. 4 credits. (S,Y)

312-37000/312-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 312-37000: junior standing; permission of the computer science faculty. Prerequisites for 312-47000: senior standing; permission of the computer science faculty. 1-3 credits. (F-S,Y)

312-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 in designing, implementing, and using an actual database. Prerequisites: 312-21000 or 312-28500. 4 credits. (F,Y)

312-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: 312-32100 or 312-30100. 4 credits. (F,O)

312-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 will be explored both through lectures and through hands-on, in-class exercises. Students will be expected to write a paper on a relevant topic of their choice and to participate in a final programming project that further explores some aspect of VR development. Prerequisites: 312-31500. 3 credits. (F,E)

312-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: 312-37500. 4 credits. (S,Y)

312-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)

312-49300-312-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)

312-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 primarily responsible for developing a project proposal and carrying it out 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)

Previous PageNext Page



Contacting the CollegeDirectoriesSite IndexIthaca College HomeIthaca College Home


A. Ozolins, Office of Publications, 21. October, 2002