SUNYIT Events Calendar

Minical
January 2013
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Academic Calendars

Computer Information Sciences

Course Descriptions

Computer Science


CS 108 Computing Fundamentals (4) Fundamental concepts of computing and programming. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. The course also offers an introduction to the historical and social context of computing and an overview of computer science as a discipline. Course taught using the C programming language. Prerequisites: No programming or computer science experience is required.

CS 220 Computer Organization (4) Introduces students to the organization and architecture of computer systems as a hierarchy of levels, beginning with the standard von Neumann model and then moving forward to more recent architectural concepts. Topics include digital logic, microprogramming, conventional machine and assembly language levels. Emphasis is given to those aspects of computer hardware that effect programming. Prerequisites: CS 108, MAT 115.

CS 240 Data Structures and Algorithms (4) Fundamental concepts of data structures and the algorithms that proceed from them. Topics include recursion, the underlying philosophy of object-oriented programming, fundamental data structures including stacks, queues, linked lists, hash tables, trees, and graphs. The basics of algorithmic analysis, and an introduction to the principles of language translation. Course programming assignments use Java and/or C++. Prerequisites: CS 109 and MAT 115.

CS 249 Object-Oriented Programming (4) Problem-solving and program design using an object-oriented approach. Starts with a review of control structures and data types with emphasis on structured data types and array processing. It then moves on to introduce the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues. Prerequisite: CS 108.

CS 307 UNIX Programming Environment (2) Promotes effective use of the UNIX programming environment. Topics include: text editor, file system, utility programs, pipe and filter paradigm, and shell language programming.

CS 309 Programming Methodology (4) Problem-solving and program design using an object-oriented approach. Starts with a review of control structures and data types with emphasis on structured data types and array processing. It then moves on to introduce the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues. Prerequisite: CS 108.

CS 311 Data Analysis (2) A hands-on introduction to data analysis using a microcomputerbased statistical package such as SPSS PC+. Topics include descriptive statistics, measures of association, and hypothesis testing. Emphasis is placed upon data collection, data organization and report generation. Prior coursework in statistics is helpful, but not required. May not be taken by students who have received credit for CS 323.

CS 324 Introduction to Internet Tools in Windows (2) 108 A hands-on introduction to the use of software Internet tools in windows environments and the concepts and perspective in computing and communications essential to using them effectively. Topics include the Windows interface and environment, and tools for browsing, editing and Web site creation and maintenance available in the Windows environment. At the conclusion of the course, the student will have an understanding of computing communication environments and the ability to use Web software tools to construct, configure, and maintain a Web site.

CS 330 Operating Systems and Networking (4) Integrates the fundamental concepts of operating systems and networking with the purpose of realizing workable models of modules and constructs. Topics include concurrency, synchronization, processes, threads, long and short term scheduling, memory management, I/O, file systems, device management and multimedia systems. Networking topics include basic network models, layered architectures, network hardware and standard protocols. Within this framework, client-server microkernel design is also presented. Prerequisites: CS 220, CS 240.

CS 345 Logic Design (4) A concentration on the digital logic level of computer organization. The theoretical and practical concepts covered include: Boolean algebra, simplification of Boolean functions, and analysis and synthesis of digital circuits with emphasis on mixed logic. The most common combinatorial and sequential integrated circuits, and algorithmic state machines are highlighted. Prerequisites: CS 220 and MAT 115.

CS 348 LISP Programming (2)An intensive survey of the LISP programming language. Topics include: expressions, data types and representations, control structures, and input/output functions. Prerequisite: CS 240.

CS 350 Information and Knowledge Management (4) The concept of information as a unifying theme. Investigates a range of issues in computer science, including database systems, artificial intelligence, human-computer interaction, multimedia system, and data communication. Prerequisites: CS 240, MAT 115.

CS 351 Web Development and Internet Programming (4) This course teaches students to install, configure and maintain an Internet/Intranet Web Server. Topics include: developing Web pages, Hypertext Markup Language (HTML), Common Gateway Interface (CGI) scripting, and displaying information on the Web via a Database Management System (DBMS). Prerequisite: CS 108 and CS 307.

CS 370 Software Engineering (4)Combines a range of topics integral to the design, implementation, and testing of a medium-scale software system with the practical experience of implementing such a project as a member of a programmer team. In addition, this course includes discussions on professionalism and ethical responsibilities in software development and human-computer interaction. Prerequisites: CS 220 and CS 249.

CS 407 UNIX System Administration (4) Topics will include: concepts involving system administration and maintenance procedures to facilitate normal system operation; technical details regarding problems that could result from operating system malfunction as well as threats to system security that are inherent in a multiprogramming environment; techniques and tools for hardware and software configuration management. Prerequisite: CS 307; Corequisite: CS 330 or permission of instructor.

CS 409 Software Project Management (4) This course presents different techniques for managing software projects and technical staff and familiarizes the student with artifacts of project management. The topics to be covered include: user specification; project proposal; contracts; software cost models and estimation techniques; project planning; implementation management; project delivery. Prerequisite: CS 370.

CS 420 Numerical Computing (4)Basic techniques of numerical computation. Topics include: computer arithmetic and error control, solution of non-linear algebraic equations including some non-linear optimization, polynominal interpolations including splines, curve fitting, integration, and an introduction to differential equations. Emphasis will be on non-formal settings with a view toward applications. Prerequisites: Calculus and proficiency in a high-level programming language.

CS 421 Computational Linear Algebra (4) Computational aspects of linear algebra, including linear optimization models, are explored. Topics include: different algorithms for solution of sets of linear algebraic equations, the eigenvalue problems, linear programming, clustering techniques, and software requirements. Prerequisite: CS 240 and MAT 340 or equivalent.

CS 431 Principles of Programming Languages (4)This course fosters a disciplined approach to the design of programs. Through carefully chosen assignments, the need for certain data structures and programming language features is made apparent. Several different programming languages are used. Topics include: structured programming, recursion, and string processing. Prerequisite: CS 240.

CS 441 Computer Systems Architecture (4) After a higher level review of current mainframe architecture and operating systems, advanced archi- tectures, proposed and implemented for parallel computation, will be considered. The second half of the course will survey techniques for modeling and assessing performance of computer systems and networks, with emphasis on probabilistic models. Prerequisites: MAT 225 and CS 220.

CS 445 UNIX Network Programming (4)The course explores computer networks from the implementation and programming point of view. The network architecture and communication protocols studied by the class allows connection of heterogeneous systems in an environment that may be geographically distributed. Prerequisite: CS 240 and knowledge of UNIX and C.

CS 446 Local Area Network Architecture (4)An intensive study of LAN architecture models for computer science students. Topics include: conten- tion-free and contention based models, hybrid nets. LSLANs, integrated voice/video/data models. Prerequisites: CS 220 and CS 330 and knowledge of probability and calculus.

CS 450 Computer Graphics (4)A conceptual and programmatic introduction to raster and vector graphics. Topics include object-oriented graphics application programming interfaces, hierarchical modeling, concepts of scene graphs, geometric transformations and transform groups, behaviors for animation and interaction, interactive tools for geometries and behaviors, classical application programming interfaces, web-related graphics technologies, and graphics file formats. Prerequisites: CS 240 and MAT 115.

CS 451 Distributed Systems (4) A conceptual and practical study of distributed software frameworks. Topics include socket-level distributed software programming, distributed object computing application programming interfaces, infrastructures for distributed computing, naming and directory services, transaction management, database access, security, resource management and resource pooling, persistence and state management, service discovery mechanisms, major distributed object computing frameworks. Prerequisites: CS 240, CS 330.

CS 454 System Simulation (4)An introduction to the basic techniques of systems modeling and analysis through systems simulation. Discrete and continuous system simulation models, use of various simulation packages and analysis of simulation output are included for consideration. Prerequisites: C, C++, or Java and senior status or permission of instructor.

CS 477 Algorithms (4)How good is it? Is there a better algorithm to solve it? This course aims at developing a toolbox of algorithms for solving real problems that arise frequently in computer applications and the principles and techniques for determining their time and space requirements and efficiency. In addition, the general complexity spectrum is discussed to give students a grounding on intractability and unsolvability. Prerequisites: MAT 115 and CS 240.

CS 480 Compiler Design (4)Basic concepts of formal languages and automata theory, and their applications in compiler writing. Several practical parsing methods are discussed. Prerequisite: CS 240.

CS 489 Cooperative Work-Study in Computer Science (Variable credit 1-4) Student will be employed by a cooperating firm or agency. Periodic progress reports will be required. The depart- ment will provide a list of cooperating employers, and the student will be required to interview for the position. Students are paid by the employer. Prerequi- sites: Limited to computer science majors who have completed core courses and secured departmental approval. Additional restrictions are on file with the department. Only S/U grades are awarded for this course.

CS 490 Selected Topics in Computer Science (Variable 1-4) Coverage of a specialized computer science topic, of current interest but not adequately treated in regular course offerings. The topic may, for example, be the theoretical and programmatic study of a methodology for a class of computational problems, an introduction to a research area of computing, or an in-depth examination of the usage and internals of a software artifact or framework. The same topic will not be repeated for at least two years. Prerequisites: CS 240 and MAT 115.

CS 491 Independent Study (Variable credit 1-4) Extensive study and research on a particular topic of student interest under the supervision of a faculty member. The student is required to submit a written proposal which includes a description of the project, its duration, educational goals, method of evaluation, and number of credits to be earned. Prerequisites: Matricula- ted students only, permission of instructor and dean of subject area.

CS 495 Artificial Intelligence (4) An introduction to fundamental knowledge representation schemes and intelligent problem-solving techniques, and corresponding implementation software artifacts. Both symbol system and biology/society-based approaches are covered. Topics include state space heuristic search, constraint satisfaction, classical logic, fuzzy logic, Bayesian techniques, connectionism, genetic algorithms, swarm and multi-agent intelligence, and planning. Prerequisites: CS 240 and MAT 115.

CS 498 Capstone Project (2) Offers students the opportunity to integrate their knowledge of computer science by completing a significant project. Periodic written and oral presentations are required. Most students will complete, report on, and present a project started while taking CS 370. Prerequisites: CS 330, CS 350, and CS 370.

CSC 300 Computer Systems and FORTRAN Programming (4)Basic concepts of computer science and computer programming. An introduction to computer hardware and applications programming using FORTRAN. No prior knowledge of computers or computing expected. Computer science or computer systems majors will not receive computer science credit for this course.

CSC 301J Introduction to Computing and JAVA Programming (4) Basic concepts of computing and computer programming are covered. An introduction to computing environments, the internet and applications programming using JAVA. No prior knowledge of computers or computing is expected. Course is for non-majors. Computer Information Science/Systems majors will not receive Computer Science credit for this course.

CSC 301V Introduction to Computing and Visual Basic Programming (4) Basic concepts of Computing and programming with object orientation using Visual Basic. Course is intended for beginners. Computer Science and Computer Systems majors will not receive credit for this course.

CSC 310 Computers and Society (2)A half-semester course examining the impact of computers in contemporary society. Topics include: components of a computer system, uses of computers in various disciplines and professions, and problems of data security and privacy.

CSC 317 Computer Systems and C/C++ Programming (4) The basic concepts of computer science and computer programming are covered. Computer hardware and applications programming using C are also introduced. No prior knowledge of computers or computing is required. This course is intended for non-majors. Computer Science or Computer Systems majors will not receive Computer Science credit for this course.


Computer Systems

IS 305 Application Programming with COBOL (4) Problem solving, algorithm development, and application development using the COBOL programming language. Emphasizes user interface, calculations, data sorting, report writing, data manipulation, data validation, string operations, intrinsic functions, and file handling based on the structured/procedural paradigm. Programming tools that leverage the power of the COBOL programmer are included. Prerequisite: CS 240.

IS 310 Hardware and Network Infrastructure (4) Conceptual and practical study of the computer hardware, connectivity devices, and other supporting artifacts that comprise enterprise internal information systems and external systems like the public Internet. Topics include: fundamental digital logic; common integrated chips and boards for computer organization; execution of processor instructions; device interfacing; peripheral devices; common abstractions for enabling software development; major functions of an operating system; common connectivity devices and their operation. Prerequisite: CS 108.

IS 315 Networking of Information Systems (4)An integrated study of fundamental principles and representative technologies underlying computer and device networks. Topics include: key networking protocols and relevant implementation stacks; interconnection devices; sample distributed software frameworks; management issues in networked computers and peripherals; deployment requirements for distributed software applications; common tools for the management of networks and distributed software. Prerequisite: IS 310.

IS 320 Systems Analysis and Design (4) Examines the process of logically developing information systems. Focuses on the analysis, planning, and logical design phases of the systems development life cycle that culminate in the specification of functional system requirements. Concentrates on methods, techniques, and tools used to determine information requirements and the documentation of these requirements in a thorough and unambiguous form. Topics include: data collection; risk and feasibility analysis; requirements analysis; process modeling; data modeling; prototyping; joint application development; rapid application development; structured walkthroughs; project management; presentations; report writing. Prerequisite: CS 240.

IS 325 Database Management Systems (4) Introduction to fundamentals of database management systems, techniques for database design, and principles of database administration. Emphasizes data modeling, database design, database application development, and database management. Topics include conceptual models; logical models; normalization; query languages; architectures such as centralized, distributed and client/server; database integrity; database security; error recovery; and concurrency control. Prerequisite: CS 240.

IS 330 Decision Support and Intelligent Systems (4) An introduction to the fundamentals of Decision Support Systems (DSS). Focuses on the logical aspects of data processing and analysis. Topics to be discussed include historical review of computerized decision support, DSS architecture. Data Warehouses, Online Analytical Processing (OLAP), and Data Mining. The student is introduced to the principles of Intelligent Systems with an emphasis on Expert Systems (ES) and Artificial Neural Networks (ANN). The organizational and business implications of decision support systems are reviewed. Prerequisite: CS 240.

IS 340 E-Commerce (4)An introduction to the fundamentals of e-business and e-commerce. Topics to be discussed include e-business models, principles of electronic business transactions, Electronic Data Interchange (EDI), electronic checks, and digital cash. The student is introduced to the protocols of secure e-commerce including the basics of cryptography, digital signatures. Secure Sockets Layer (SSL), Secure Electronic Transaction Protocol (SET). The languages and e-commerce technologies to be discussed include Java, JavaScript, XML, intelligent agents, and networking protocols. Prerequisite: CS 240.

IS 470 Database Programming (4)Provides rigorous coverage of database programming using the Structured Query Language (SQL) and SQL coupled with other programming languages. Topics include: database management systems (DBMS); data definition; data manipulation; data control; database administration; report generation; DBMS built-in and programmer-created procedures, functions, packages, and triggers. Prerequisite: IS 325.

IS 490 Special Topics in Systems (Variable credit 1-4)An in-depth treatment of a selected topic not normally treated extensively in other Information System courses. The subject matter covered in this course will not be repeated in a future semester.

IS 491 Independent Study/Information Systems (Variable credit 1-4)Extensive study and research on a particular topic of student interest under the supervision of a faculty member. The student is required to submit a written proposal which includes a description of the project, its duration, educational goals, method of evaluation, and number of credits to be earned. Prerequisites: Matriculated students only, permission of instructor and dean.

IS 495 Computer Information Systems Practicum (2) Capstone course for Computer Information Systems (CIS) majors. Students form teams and each team spends an entire semester working to satisfy a set of requirements for a real-world organization. Teams will gain experience in all phases of the systems development life cycle (SDLC) and project management. Periodic written and oral presentations are required. Success requires student teams to work as a cohesive unit which draws upon components of the entire CIS curriculum. Prerequisites: IS 310, IS 320, and IS 325.

MAT 115 Finite Mathematics for CS (4) A rigorous introduction to discrete mathematics as it is used in computer science. Topics include functions, relations, sets, propositional and predicate logic, simple circuit logic, proof techniques, elementary combinatorics, and discrete probability. Prerequisite: MAT 111 or equivalent.



Direct any questions about the program to: John Marsh, Department Chair.