Information For

Plattsburgh State

E-mail this page to a friendE-mail this page

Plattsburgh State - College Catalog

CSC Courses

CSC121 - Introduction to Computing and the Web (3 cr.)

Introduction to computer science through Web-based projects. Describes the basic operations of computers covering hardware and software. Covers the use of communication technology through the Internet. Focuses on problem solving and algorithms. Teaches how programming languages are used to implement solutions to practical problems. Covers social issues associated with computing and computer science. (Fall - Spring). Liberal arts.

CSC122 - Robots and Computers (3 cr.)

Small mobile robots, constructed with Legos and palm-sized microcontrollers, are used to explore the nature of computers and the different kinds of thinking used in computing. Topics include: how microprocessors work, languages for describing algorithms, artificial intelligence, ways in which society and technology affect each other, physics of robot structure, sensing, motion and problem-solving techniques for designing and debugging, complex systems. For students in any major. No prior experience in computing, science, or technology is required. Weekly laboratory. (Fall - Spring). Liberal arts.

CSC125 - Introduction to Problem Solving and Programming (3 cr.)

This course is intended for non-Computer Science majors. Students will learn to model problems drawn from their experience, develop algorithms, and write computer programs to address these problems. Techniques of program development, language syntax, testing and debugging will also be discussed. Liberal Arts. (Fall & Spring). Prerequisite: CSC121

CSC199 - Independent Study (1 to 15 cr.)

Project individually arranged by student and faculty sponsor. Requires completion of the Independent Study form and approval by the Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean.

CSC217 - Discrete Mathematics with Computer Science Applications (3 cr.)

An introduction to discrete mathematics with a focus on methods of reasoning and applications to computer science. Topics: propositional logic, first order logic, methods of proof, mathematical induction, elementary number theory. Applications include digital circuits, computer arithmetic, computer algorithms. (Fall - Spring). Liberal arts. Prerequisite: MAT102 or equivalent high school course.

CSC219 - Introduction to Unix (1 cr.)

Survey of the implementation of an operating system. (Fall). Prerequisite: CSC121 or equivalent.

CSC220 - Programming for Transfer Students (1 cr.)

An intensive introduction to the programming language used in CSC223 for transfer students who already have programming experience in a similar language. (Fall - Spring).

CSC221 - Introduction to Programming (3 cr.)

Introduces methods for developing and implementing correct and effective algorithms. Uses an object oriented programming language (currently Python). Attention is given to design strategy, data organization, testing, and documentation. 3 hours lecture and 2 hour laboratory. (Fall - Spring). Liberal arts. Prerequisite: familiarity with computers and programming.

CSC223 - Data Structures and Algorithms (3 cr.)

Organization of data with associated algorithms into arrays, lists, stacks, queues, binary trees, sets, and maps. Includes programming projects with object-oriented design principles using appropriate data structures. Algorithms are analyzed using the Big O notation. (Fall - Spring). Liberal arts. Prerequisites: CSC217; CSC221 with a grade of C or better.

CSC299 - Independent Study (1 to 15 cr.)

Project individually arranged by student and faculty sponsor. Requires completion of the Independent Study form and approval by the Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean.

CSC313 - Introduction to a High Level Language (1 cr.)

Introduction to the syntax and semantics of a single high-level programming language. Programs appropriate for the particular language will be designed and run. May be retaken for credit with a different language. (Fall/Spring).Prerequisite: CSC221.

CSC314 - Non-Imperative Programming (3 cr.)

An introduction to functional and logic programming languages. Covers the conceptual foundations, semantics, and syntax of each language, and discusses the nature of the functional and logic programming paradigms. Programs appropriate to the languages will be designed and run. (Fall - Spring). Liberal arts. Prerequisite: CSC223

CSC318 - Discrete Mathematics with Computer Science Applications II (3 cr.)

A continuation of CSC217 focusing on applications in computer science. Topics: sets, functions, and graphs, combinatorics, elementary probability. Applications include formal languages, finite-state automata, analyzing recursive algorithms, applying graph algorithms. (Fall - Spring). Liberal arts. Prerequisite: CSC217.

CSC319 - Programming in C (3 cr.)

The programming language C for students with substantial programming experience in some other language. (Fall - Spring). Prerequisite: CSC221.

CSC320 - System Administration (1 cr.)

Overview of the concepts and techniques of computer system administration. Topics will include privilege models, user management, kernel software, system services, system security and scripting. (Fall). Prerequisites: CSC219 (or corequisite), CSC221 or equivalent.

CSC321 - Design and Analysis of Algorithms (3 cr.)

Course presents general techniques for the design of algorithms. These include divide-and-conquer, dynamic programming, greedy algorithms, and randomized algorithms. Specific algorithms are studied which are drawn from a variety of applications - scheduling, encryption, graphics, search space. Advanced data structures - graphs, balanced trees - will be studied with their associated algorithms. (Spring). Liberal arts. Prerequisites: CSC223 (grade of C or better).

CSC330 - Human Computer Interfaces (3 cr.)

Aspects of human-computer interaction will be studied including models of perception, cognition, attention, representation, memory, identity, interaction styles and feedback. The role of information visualization in interfaces will be explored. Students will also learn how to perform empirical studies to evaluate computer interfaces. (Fall). Liberal arts. Prerequisite: CSC121 or CSC221.

CSC333 - Computer Organization (3 cr.)

A study of the organization and the structure of hardware components of computers and concepts and techniques of programming in machine assembly language. Emphasis is placed upon the relationships of machine language to computer architecture and higher level languages. The relationship between user applications, operating systems, and computer hardware is discussed. (Fall). Liberal arts. Prerequisite or corequisite: CSC221

CSC336 - Software Engineering I (3 cr.)

This course will provide an introduction to current practices in software engineering. The role of software metrics to manage software projects, evaluate software processes, and track software quality will also be examined. (Fall). Prerequisite: CSC221.

CSC341 - Introduction to Databases with Web Applications (3 cr.)

Designing a database using Entity-Relationship diagram, implementation and querying in SQL, writing external programs which access the database, languages for creating web pages, writing server-side programs to provide dynamic web content from a database. A programming project involving all the topics above. (Once per year). Prerequisite: CSC221.

CSC345 - Artificial Intelligence (3 cr.)

Survey of procedural and representational techniques used to study or simulate intelligent behavior: consider the nature of intelligence, machine and human; review research developments; and discuss theoretical and ethical limitations. Student must complete a significant programming or writing project. (Spring). Liberal arts. Prerequisite: CSC314.

CSC357 - Introduction to Computer Networks (3 cr.)

Overview of computer networks with particular emphasis on Internet. The layered architecture of the Internet is presented with related algorithms and current protocols. Security issues are also examined. (Fall & Spring). Liberal arts. Prerequisite: CSC221.

CSC359 - Technology, Communication and Society (3 cr.)

An examination of the ways the rapid amalgamation of computer technology with mass media is transforming culture globally, affecting political and economic life, and enveloping social and personal ways of being. This course will also explore the relentless movement toward the adoption of digital technology, content and delivery by mass media industries worldwide, focusing on the ethical implications of this intertwining and offering a critical perspective on the moral effects of such convergence upon society and human thought. Does not count towards the upper division elective requirement in the computer science major. (Fall). Liberal arts. Prerequisite: ANT102 or ANT366 or CMM118 or CMM226 or CMM288 or CMM301 or CSC121 or CSC221 or ENG255 or HIS315 or INT300 or JOU204 or BUS260 or PHI102 or PHI104 or PHI313 or SOC101.

CSC372 - Ethics in the age of Technology and Information (3 cr.)

Investigation of the relationship between computers and society in terms of ethical issues such as: personal privacy vs. societal security; intellectual property vs. free speech; dehumanization and loss of autonomy vs. rehumanization; and application of artificial intelligence. Approved AWR. (Fall - Spring). Liberal arts. Prerequisites: ENG101; LIB102 or LIB105; CSC121 or CSC122 or experience in programming; junior standing

CSC399 - Independent Study (1 to 15 cr.)

Project individually arranged by student and faculty sponsor. Requires completion of the Independent Study form and approval by the Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean.

CSC402 - Software Engineering (Spring) (3 cr.)

Introduction to the technical and managerial issues related to the development and modification of computer software systems. The methodologies, tools and techniques for specification, validation, design and verification are examined in the light of traditional and alternative software life-cycle models. The written and verbal communication skills necessary for working on a system development team are stressed. (Spring). Prerequisite: CSC223.

CSC422 - Introduction to the Theory of Computation (3 cr.)

Theoretical foundation of computer science. Considers classes of languages, formal grammars, and automata and the relationships among them. Decidable and undecidable problems. May include topics from recursive function theory or complexity theory. (Fall). Liberal arts. Prerequisite: CSC318 or MAT301.

CSC433 - Operating Systems (3 cr.)

The design of systems that manage computer resources (processor, memory, disks and other peripheral devices) in a multitasking environment. Attention to concurrency problems and their solutions. Process and thread scheduling. Strategies for data storage management. Mechanisms that provide system and user security. Approaches to system deadlock. (Fall - Spring). Liberal arts. Prerequisites: CSC319, CSC333.

CSC436 - Software Engineering II (3 cr.)

This course will instruct students in application of software engineering principles to a medium sized software project. Students will work in teams using an agile software process to gain experience with all aspects of the software development cycle. The topics covered will include personal productivity, customer interaction, team productivity, communication skills, process improvement, and project management in the context of a semester long project. (Spring). Prerequisite: CSC336.

CSC437 - Theory and Implementation of Programming Languages (3 cr.)

A study of the general principles and concepts for understanding and analyzing programming languages, and the major techniques for language implementation. Languages will be compared and analyzed with respect to their semantics, syntax and underlying models of computation. The basic techniques for implementing compilers and interpreters will be covered. A substantial language implementation project will be required. (Fall). Liberal arts. Corequisite: CSC314.

CSC441 - Database Management Systems (3 cr.)

Relational database design and implementation. Core topics include: record and file organizations, access structures, entity-relationship model, relational algebra and calculus, relational model functional dependencies and normalization, SQL, database implementation and application programs. (Fall). Liberal arts. Prerequisites: CSC223, CSC318.

CSC445 - Knowledge Representation and Inference (3 cr.)

Methods of knowledge representation in order for an intelligent system to make inference about the world. Covers frames languages, semantic nets, conceptual graphs, production systems, first-order logic representations and inference, statistical methods, probability and uncertainty, non-monotonic and default reasoning, common sense reasoning. Liberal arts. Prerequisite: CSC345.

CSC446 - Software Design Studio (3 cr.)

This course will instruct students in application of software engineering principles to a medium sized software project. Students will work in teams using an agile software process to gain experience with all aspects of the software development cycle. Object oriented programming principles and appropriate data structures will be applied in the context of a semester long software project. (Once per year). Liberal arts. Prerequisites: CSC336 and CSC223 (grade of C or better).

CSC451 - Introduction to Computer Graphics (3 cr.)

An introduction to the software system design of a general purpose raster graphics system and to the fundamental algorithms of both two and three dimensional computer graphics. (Spring). Liberal arts. Prerequisites: CSC223, MAT225.

CSC453 - Introduction to Numerical Methods (3 cr.)

Introduction to methods of solution to numerical problems. Emphasis is given to obtaining accurate results by utilizing methods of estimating the magnitude of error and techniques for controlling error. Numerical algorithms used in programming problems include: synthetic division, root finding, interpolation, least squares, numerical integration and solution of ordinary differential equations. (Fall/Spring). Liberal arts. Prerequisite: MAT225.

CSC485 - Seminar in Computer Science (3 cr.)

Seminar in topics of current interest in computer science. (Fall). Liberal arts.

CSC495 - Undergraduate Research (2 to 6 cr.)

Research project individually arranged between student and faculty member. May be repeated for credit. (Fall - Spring). Liberal arts. Prerequisite: POI.

CSC496 - Instructional Practicum (1 to 2 cr.)

Designed for students who will work under the supervision of a faculty member to assist in the instruction of a course. A contract specifying the responsibilities of each student will be filed in the department. May be repeated as II or III with chairperson's permission. (Fall - Spring). Prerequisite: POI.

CSC498 - Internship in Computer Science (1 to 15 cr.)

Computer science activity at an industrial or research facility. (Fall - Spring - Summer). Prerequisite: Both the facility and supervisor must be approved by the department chairperson.

CSC499 - Independent Study (1 to 15 cr.)

Project individually arranged by student and faculty sponsor. Requires completion of the Independent Study form and approval by the Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean.

CSC522 - Theory of Computation (3 cr.)

Theoretical foundations of computer science. Considers classes of languages, formal grammars, automata, and the relationships among them. Decidable and undecidable problems. Time complexity and NP-completeness. Applications to programming languages and analysis of algorithms. This course is open only to graduate students or undergraduates who are within 15 credits of graduation. Students can receive credit for this course only if they have not received credit for CSC422. Prerequisites: CSC318 or MAT301, Senior Standing.

CSC533 - Operating Systems (3 cr.)

Resource management Software for a multiprogramming computer system. Process scheduling, communication and synchronization; memory management strategies and virtual memory systems. Concurrency problems and solutions with semaphones and monitors. The problem of deadlock. File systems and device management. Programming projects center on evaluating, writing and modifying kernel software. A substantial programming/research project is required. This course is open only to graduate students or undergraduates who are within 15 credits or graduation. Students can receive credit for this course only if they have not received credit for CSC433. Prerequisites: CSC319, 321, and 333. Senior Standing.

CSC541 - Database Management Systems (3 cr.)

SQL queries. Designing relational databases including ER model, functional dependencies and normalization. Implementation of databases in a relational database management system, including data definition in SQL and writing external programs which operate on a database. Indexing. Involves one project on all stages of design and implementation of a database using a relational database management system. A major programming/research project is required. This course is open only to graduate students or undergraduates who are within 15 credits of graduation. Students can receive credit for this course only if they have not received credit for CSC441. (Fall). Prerequisite: CSC318, CSC321, Senior Standing.

CSC545 - Knowledge Representation and Inference (3 cr.)

The foundation of how knowledge is represented in order for an intelligent system to reason about the world. Covers standard and modal logic-based representations and inferences, statistical methods, probability and uncertainty non-monotonic and default reasoning, commonsense reasoning. A substantial programming/research project is required. This course is open only to graduate students or undergraduates who are within 15 credits of graduation. Students can receive credit for this course only if they have not received credit for CSC445. Prerequisites: CSC314, 321, Senior Standing.

CSC585 - Seminar in Computer Science (3 cr.)

Research and presentations by students and in-depth classroom discussions. The topic will reflect particular research interests of the instructor and will be announced prior to registration time. A substantial programming/ research project is required. CSC585 may be taken multiple times providing the topics are different. Prerequisites: CSC321, POI.

Search the College Catalog

Enter a course number or three-letter curriculum code to search the College Catalog:

Alphabetical Listing of Curriculum Codes by Course Subject

A

B

C

E

F

G

H

I

J

L

M

N

P

R

S

T

W

Was this page helpful?

This is an official publication of SUNY Plattsburgh

Copyright © 1996-2009 SUNY Plattsburgh 101 Broad Street, Plattsburgh, NY 12901 Phone: (518) 564-2000