Apr 28, 2024  
2020-2021 Undergraduate Catalog 
    
2020-2021 Undergraduate Catalog [ARCHIVED CATALOG]

Course Listings


SUNY Oneonta offers students more than 1,400 courses—from Accounting to Zoology—from over 25 separate departments. Requirements for majors and minors and course descriptions are listed under the departments that offer them, and these departments are arranged in alphabetical order.

Please note that requirements, courses, and course descriptions are subject to change after publication of this catalog. Contact the appropriate departments for updated information. Also note that some course listings have been edited for clarity and consistency. Complete listings are available from the instructors or the departments concerned.

Key to Course Listings

Abbreviation   Meaning
(PACT)   Activity course in Health & Fitness
(LA)   Liberal Arts (course is a Liberal Arts offering)
OCS   Oral Communication Skills
SUSF   Sustainability Focused Courses
s.h.   Semester Hour(s)
SoS   Sophomore standing
JrS   Junior standing
SrS   Senior standing

Course Numbering System

001 - 099   No credit; usually developmental in nature.
100 - 199   Lower-division undergraduate-level courses.
200 - 299   Upper-division intermediate undergraduate-level courses.
300 - 399   Upper-division advanced courses.
500 - 699   Graduate-level courses.
 

Computer Science

  
  • CSCI 100 - Introduction to Computing Technology 3 s.h.


    An introduction to word processing, database management, spreadsheets, desktop publishing, multimedia software, computer communications (the world-wide-web, Internet and E-mail, library searches, home page creation), hardware and software troubleshooting by installation and maintenance, scanning and digital images. Students will use a hands-on approach to explore a variety of hardware and software tools applied to a number of cross-curriculum projects. A-E Only. Offered every semester.
    LA
  
  • CSCI 116 - Fundamentals of Programming 3 s.h.


    An introduction to the fundamentals of computer programming using a modern computer language. Topics include primitive data types, expressions and statements, control structures, input and output, arrays, pointers, functions, and structures. Students will write a number of programs with applications taken from mathematics, science and business. A-E Only. Offered Fall and Spring.
    LA
    Prerequisite(s) or Corequisite(s): MATH 105  or MATH 223 .
  
  • CSCI 200 - Practical Computer Course 3 s.h.


    Familiarizes the student with aspects of computer technology needed for extensive home, office, or school computer applications and maintenance. The clientele includes current and prospective teachers and professionals who wish to handle their own minor software and hardware problems. A-E Only.
    Prerequisite(s): SoS.
  
  • CSCI 203 - Data Structures 3 s.h.


    Covers the representation of complex information in computer memory. Considers such structures as graphs, trees, stacks, strings, lists, and queues, with implementation of algorithms using a contemporary programming language. A-E Only. Offered Fall and Spring.
    Prerequisite(s): CSCI 216  ”C” or better.
  
  • CSCI 213 - Computer Languages 1 s.h. - 3 s.h.


    This is a short course in a programming language (specified in the offering). The course will cover fully programming in the given computer language. A-E Only.
    Prerequisite(s): CSCI 116 .
  
  • CSCI 216 - Fundamentals of Programming II 3 s.h.


    A continuation of CSCI 116  focusing on object-oriented programming and programming methodologies beyond a structured, procedural programming approach. Students will begin to build larger programming projects and solidify their programming skills. A-E Only.
    Prerequisite(s): CSCI 116  ”C” or better.
  
  • CSCI 231 - Assembly Language Programming 3 s.h.


    Introduction to computer structure and machine language coding. Assembly-level programming on a specific computer. Topics include data representation, addressing techniques, macros, file I/O, program segmentation and linkage, and assembler construction. A-E Only. Offered Fall only.
    Prerequisite(s): CSCI 116  ”C” or better.
  
  • CSCI 232 - Computer Architecture 4 s.h.


    Logic design of combinational and sequential digital circuits, the components of a digital computer system and the interconnection thereof, the coding and transfer of information in a digital computer system, and a laboratory on logic design and the use of a microcomputer trainer. A-E Only. Offered Spring only.
    Prerequisite(s): CSCI 116  ”C” or better.
  
  • CSCI 242 - Introduction to Relational Databases 3 s.h.


    This course will mainly provide an introduction to relational database management system (RDBMS), SQL, ER model, ER diagrams, stored units of RDBMS and front-end development of database systems. Oracle, Microsoft SQL Server or MySQL would be used as the teaching environment for students to develop hands-on experience of using modern RDBMS software. A-E Only.
    Prerequisite(s): CSCI 116  ”C” or better.
  
  • CSCI 243 - UNIX/VMS Operating Systems 3 s.h.


    This course will focus on the UNIX and VMS operating systems. Topics selected from: entering commands, files and directories, UNIX shell environment, text editing, shell programming, utilities, networking, system admin., X-Windows. A-E Only.
    Prerequisite(s): CSCI 109 or CSCI 116  ”C” or better.
  
  • CSCI 245 - Intro to Web Programming 3 s.h.


    This course provides an introduction to internet programming. Topics covered will include web page development, markup languages, database integration, programming (using, for example, JavaScript, VBScript, Python, PHP, on Perl), and applications using the Visual.NET Suite. Students will learn about the document object model, event-handling, form creation, server- and client- side scripting. Students will complete several projects exploring business and educational applications of the web. A-E Only.
    Prerequisite(s): CSCI 109 or CSCI 116  ”C” or better.
  
  • CSCI 246 - Introduction to Robotics 3 s.h.


    This course offers computer science students an introduction to the world of robotics. Students will learn about robot construction, sensors, actuators, and software. Various programming techniques to produce virtual artificial thought will be discussed and implemented. This hands on course will use the “Lego NXT Robotics Kit”, “NXC Programming Language”, and the “Bricxcc Integrated Development Environment”. Students will explore these tools through homework assignments, projects, and contests. A-E Only.
    Prerequisite(s): CSCI 109 or CSCI 116  ”C” or better.
  
  • CSCI 250 - Introduction to Computer Graphics 3 s.h.


    Fundamentals of computer graphics from a computer science perspective. Topics covered include transformations, projection and viewing, illumination, hidden surface elimination, and ray tracing. Programming projects are an integral part of the course and will reinforce and expand upon topics covered in class. A-E Only.
    Prerequisite(s): CSCI 203  ”C” or better.
  
  • CSCI 255 - Virtual Environments 3 s.h.


    An overview of virtual environments and their uses. Covers the history of virtual reality, the requirements for a virtual environment, the technologies used, and application areas. Students will experiment with existing virtual environments and build their own as part of the course. A-E Only. Offered every two years.
    Prerequisite(s): CSCI 116 
  
  • CSCI 268 - Mobile Application Development 3 s.h.


    This course introduces fundamentals and basic concepts of mobile application development on one of the major mobile device platforms (Google Android, Apple IOS and Microsoft Mobile). The topics include the major programming languages, software developer kit (SDK), programming environment, programming tools and resources of the chosen mobile platform, app execution cycle, application development cycle, testing and debugging on emulators and real devices, event-drive programming paradigm, gestures, GPS, multimedia, networking, built-in sensors, and other aspects of mobile devices. The course will also survey and discuss different mobile platforms, unique constraints and challenges of mobile app development, and security issues of mobile apps. Students will gain hands-on mobile app development experience on smartphones and tablets through implementing homework assignments, projects and tutorials. A-E Only.
    Prerequisite(s): CSCI 216  with a grade of “C” or better.
  
  • CSCI 272 - Game Development 3 s.h.


    An overview of the game development process. This course examines the roles of each member of a game development team and his or her contributions to the final product. It covers the process from the initial idea to patching and updating the final product and looks at such topics as licensing issues, intellectual property issues, and whether to buy or build. A-E Only. Offered every two years.
    Prerequisite(s): CSCI 116 . 
  
  • CSCI 295 - Teaching Assistantship in Computer Science 1 s.h. - 3 s.h.


    Teaching assistants in CS will perform lab monitor duties (provide introduction to the network, and operating system) to students. Additionally, CS assistants will be able to provide informed tutoring in a specific language (C or Pascal, for example). They will provide one on one tutoring and also hand out, oversee, and provide assistance in lab worksheets or projects. Assistants will keep track of who has completed lab worksheets. Student assistants will review labs and student progress with instructor. Pass/Fail Only.
    Prerequisite(s): CSCI 216 , and permission of instructor.
  
  • CSCI 299 - Independent Study in Computer Science 1 s.h. - 3 s.h.


    Individual studies or research activities under the direction of appropriate departmental faculty. Pass/Fail Option.
    Prerequisite(s): permission of department.
  
  • CSCI 310 - Organization of Programming Languages 3 s.h.


    Analyzes programming languages in terms of their features and limitations based on run-time behavior. Presents two or three languages for in-depth study. These may include, for example, SNOBOL, LISP, Prolog, APL and PL/1. Students complete applications projects chosen specifically to exhibit the power and limitations of languages presented. A-E Only. Offered Spring only.
    Prerequisite(s): CSCI 203  ”C” or better.
  
  • CSCI 311 - Software Design and Development 3 s.h.


    Topics selected from the following: the software life cycle, software cost estimation, hierarchical modularity, module cohesion, module size, programming teams, walkthroughs, structured coding, testing, programming style, user documentation, and technical documentation. Includes practical experience in applying software design and development techniques to a moderately large program. A-E Only. Offered Spring only.
    Prerequisite(s): CSCI 203  ”C” or better.
  
  • CSCI 322 - Combinatorial Computing 3 s.h.


    Computational methods for discrete mathematical structures. Topics include representation of integers, sets, and graphs; counting and enumeration techniques; sorting and searching methods; and graph algorithms.  A-E Only.
    (LA)
    Prerequisite(s): CSCI 203  with a grade or “C” or better and MATH 205 
  
  • CSCI 323 - Modeling and Simulation 3 s.h.


    Deterministic and probabilistic models of complex systems, discrete and continuous, and simulation of the system by computer implementation of the model.  A-E Only.
    Prerequisite(s): CSCI 116  with a grade of “C” or better or MATH 276  or STAT 261 
  
  • CSCI 324 - Artificial Intelligence 3 s.h.


    A survey of important areas of artificial intelligence: expert systems, natural language processing, and artificial neural networks. Common algorithms will be covered as needed. Projects will be assigned corresponding to the three areas surveyed. A-E Only.
    Prerequisite(s): CSCI 203  ”C” or better.
  
  • CSCI 343 - Operating Systems 3 s.h.


    An introduction to operating systems, the programs that act as interfaces between computers and users. Topics selected from the following: I/O and interrupt structure; memory management, virtual memory, paging and segmentation; process management, scheduling and semaphores; concurrent processes, synchronization and deadlock avoidance; resource allocation, queueing and job activation/deactivation; protection, access to objects and access rules. A-E Only.
    Prerequisite(s): CSCI 203  ”C” or better.
  
  • CSCI 344 - Introduction to Computer Communications 3 s.h.


    This course will provide coverage of many aspects of computer networking. Course will focus on Local Area Networks (LANs). Students will learn network protocols and examine several networks (ETHERNET). A-E Only. Offered Fall only.
    Prerequisite(s): CSCI 203  ”C” or better.
  
  • CSCI 345 - Internet Programming 3 s.h.


    This course explores techniques and tools used to write Internet software. Topics include dynamic client and server programming, database integration, data modeling, data rendering, markup languages, and e-commerce. Several programming assignments will provide students with a first hand experience in designing and developing Internet software that is used in the burgeoning world of electronic commerce today. A-E Only.
    Prerequisite(s): CSCI 203  ”C” or better.
  
  • CSCI 394 - Special Topics in Computer Science 1 s.h. - 3 s.h.


    Topics in upper-level computer science chosen by instructor. A-E Only.
    Prerequisite(s): dependent on topic.
  
  • CSCI 397 - Internship—Computer Science 1 s.h. - 15 s.h.


    Computer science internship experiences in business, industry, and government agencies (including, for example, Corning, Allied, NY Telephone, City of Oneonta, SUNY Oneonta Computer Services). A-E Only.
    Prerequisite(s): JrS or SrS and permission of faculty sponsor.
  
  • CSCI 399 - Independent Study in Computer Science 1 s.h. - 6 s.h.


    Individual studies or research activities carried out under the direction of appropriate departmental faculty. Pass/Fail Option.
    Prerequisite(s): JrS or SrS and permission of department.