89 courses with the subject CSIT, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CSIT 100Freshman Seminar1
Introduction to computing environments available on campus; e-mail, Internet access and web; campus computing policies; computing and information technology ethics; other campus resources and their effective use; building a support network with faculty, staff and peers; improving study skills inside and outside the classroom. Freshmen only.
CSIT 101Programming with 3-D Graphics and Multimedia3
Introductory programming course using a high-level, object -oriented language, such as ALICE. The course covers object-oriented and event driven programming concepts, in addition to algorithms and elementary programming techniques that are needed to develop elementary graphics and multimedia applications. Prerequisite: N.Y.S. Algebra II and Trigonometry (or Math B), or equivalent.
Introduction to microcomputers; elementary concepts and operations of spreadsheets and database management systems; analysis of a variety of problems, their design, and implementation of solutions using commercially available window-based software. Three units of high school mathematics required.
This is a Fredonia Foundations lab-based course that fulfills 3-credit hour mathematics and quantitative reasoning requirement. This is an introductory course in high level programming language, Visual Basic (VB), which introduces elementary ideas of object-oriented and event-driven programming, concepts using VB.
Scientific problem solving; structured program development: simple algorithm design, arithmetic operations, data types and their declarations; control statements, loops, input and output including text files; arrays, functions, mathematical functions and round off error estimation. Applications to engineering, sciences and mathematics. Credit will not be given for both CSIT 106 and 121. Background assumed: N.Y.S. Algebra II and Trigonometry (or Math B), or equivalent.
An introductory course in client-side web technologies: HTML, cascading style sheets and JavaScript; designing and publishing a web site. Other topics include history of the Internet and World Wide Web, HTML editors, and graphics.
A comprehensive overview of the scope and dynamics of computer science. Survey of the field of computer science. Topics include: history of computing, computer organization and components, operating systems, programming languages, introduction to programming and program development, data structures, problem solving, software engineering, computer ethics, and computer applications. Background assumed: N.Y.S. Algebra II and Trigonometry (or Math B), or equivalent.
Hands-on exposure to the following major topics: Problem solving, algorithm design and development, structure of the program, top-down design and functional decomposition, debugging, elementary data types, expressions, I/O functions and formats, repetition and control structures, user-defined functions, pass by value, pass by reference, built-in functions, arrays, strings.
This course provides an introduction to fundamental concepts in discrete mathematics, essential for computer science and related fields. Topics include number systems, basic number theory, and modular arithmetic, followed by an exploration of sets, relations, and functions. Students will study sequences, series, and partial sums, as well as key proof techniques such as induction and contradiction. The course also covers recurrence relations, counting principles, and basic combin
The course introduces information technology used in day-to-day business operations. It covers business applications software for office management, communication, project management, relational databases, eCommerce, web development, data transmission and networks, etc. The course also covers such basic information systems concepts as querying simple databases, data analysis and database design. Laboratory instruction is used to complement the course with hands-on experience wit
Introduces desktop, internet, and network security issues and how they interact with the ethical values of individuals, organizations, and society. Includes methods of avoiding, detecting, and analyzing network intrusions as well as the ethics related to computer security and privacy. Background assumed: N.Y.S. Integrated Algebra and Geometry, or Math A, or equivalent.
The course introduces multimedia systems from a theoretical and practical perspective. Topics covered include: computer manipulation of images, music, animation, and video, including theoretical aspects of lighting, color, elementary acoustics principles, motion, perspective, graphical and sound file formats, and network transmission. Various software packages will be introduced: for raster and vector graphics; for 2-D- and 3-D-modeling and animation; for sound recording and edi
Advanced visual Basic programming techniques with graphical user interface and Active X controls. Topics include: multiple forms and other GUI elements, database concepts and interacting with databases, server side web programming, dynamic and static data types, arrays, files, lists, stacks and queues, concept of classes and related notions, designing Windows API calls and Windows registry functions and advanced event-driven business applications. The course provides a computer
CSIT 207Introduction to Full Stack Web Development3
This course provides a comprehensive introduction to full-stack web development, covering both front-end and back-end technologies. The course will cover design, building, and deployment of dynamic web applications using modern tools and frameworks. Topics include responsive web design, front-end frameworks, server-side programming, databases, and API integration.
Hands-on exposure to major topics in data structures and control, including file I/O; abstract data types; static and dynamic data structures; pointers and pointer operations; templates, memory addresses; garbage collection; memory leak; function and operator overloading; constructors and destructors; deep and shallow copying; class concepts; multi-dimensional and dynamic arrays; linked lists; doubly-linked lists; stacks, queues and their implementations and applications. The co
Basic programming constructs: primitive types, expressions, and statements; class hierarchies; elementary predefined classes such as String and Math; object-oriented programming; packages and interfaces; exception handling; I/O and file access; graphics; applets; studio processing and other applications.
UNIX commands, shells, utilities, editors; file types and modes; shell scripts; make-files; memory and storage management; C programming tools; processes, IPC (signals, sockets, pipes); development tools; streams; networking; UNIX internals, system administration and other topics as time permits.
Students will study the history of robots, understand the differences in types of robots, explore artificial intelligence through readings and lab work with the Raspberry Pi microcomputer and python programming language, work with sensors, where necessary work with servos and motors, demonstrate understanding of electrical components involved in physical computing, design and attempt construction of programmable and autonomous robots using the Raspberry Pi as a foundation. Worki
Study of mathematical topics needed for further study of computer science at the advanced undergraduate level, including: logic, sets, proof techniques, matrices, basic number theory, modular arithmetic, functions, linear transformations, relations, basic combinatorics. and (CSIT 105 or CSIT 121). Offered: Every semester.
CSIT 242Discrete Mathematics for Computer Science II3
A continuation of CSIT 143 . Topics include combinatorics, digraphs, and trees; recurrence relations; automata, grammars and languages; other topics as time permits.
Overview of information systems (IS) for operational, tactical and strategic functions of business organizations; IS practices and challenges for business competitiveness; data, information and knowledge processing; information systems theory and quality decision, systems analysis and design, database management, network and network management; electronic commerce and social and ethical issues; IS and IT planning and implementation.
Selected topics in computer and information sciences based on instructor or student interest requiring basic understanding of computer information systems operations.
Participation in an approved professional experience in the area of computer science. Students must submit a proposal describing the work experience, its relationship to subject matter in computer science, and how it will be monitored and evaluated. Permission of the department required.
Non-credit course for students interested in performing computer-related services for the Computer and Information Sciences program. Duties include: proctoring in computing laboratories; assisting with the labs in CSIT 121 or CSIT 221 ; helping the faculty director and/or systems manager with basic laboratory maintenance. Grading is on an S/U basis. Permission of the department required. 0
An introduction to cross platform and hybrid mobile application aesthetic design. This course emphasizes prototyping mobile applications and powering their functionality through iterative development. The course includes a comprehensive project including the design and implementation of a web-based software product based on predefined specifications
This course will provide an introduction to current and future techniques for computer game design and implementation. Topics will cover graphics game engines, motion generation, behavioral control for autonomous characters, layered game architecture, interaction structure, and interface issues of multi-user play. The course will emphasize a practical approach to the development of games. A variety of game development technologies will be considered. Programming background is ex
CSIT 311Assembly Language and Computer Organizations3
Introduction to the basic concepts of computer organization, digital logic, data representation, and machine instructions repertoire; memory access and storage; instruction execution; assembly language; computer organization; levels of computer structures; data representation and transfer; digital arithmetic; memory structure and addressing methods; cache; secondary memory structure and organization.
Introduction to basic concepts of computer system and architecture; internal and external memories, I/O and operating system support; instruction execution; computer structure, organization and function; digital arithmetic; memory structure and addressing methods; cache; secondary memory structure and organization; system software structure; purpose and functions of system programs; file systems; process and resource management. For Computer Information Systems majors; Computer
This course introduces students to visual programming fundamentals using languages like C#, Java, or Visual C++. It covers GUI development with an event-driven approach, emphasizing design principles and essential components such as buttons, labels, and menus. Students will explore key object-oriented programming concepts, including encapsulation, inheritance, and polymorphism, while learning to create modular and maintainable code. The course also addresses abstract classes, exception hand
CSIT 316Introduction to Human-Computer Interaction3
The course introduces techniques, ideas, and models involved in designing, implementing, and evaluating interactive technologies for human use. It explores principles of design and usability, with an emphasis on the human-side of interaction. Accordingly, in addition to human and computing factors, the role of task (goals) and context are highlighted as key to understanding interaction phenomena at the individual, group, organizational, and societal levels. These include issues
Brief history of programming languages; language design issues; syntax and translation; data types; sequence control; the procedural paradigm; the object-oriented paradigm; the functional paradigm; the logical paradigm.
Object-oriented design methodologies; object-oriented programming; class concepts, encapsulation; operator overloading, polymorphism, inheritance; virtual, constant and friend functions; constructors and destructors; dynamic and delayed binding; abstract classes and interfaces; function overloading; and exception handling; advanced OO programming and applications.
This course introduces system development for the Android, iPhone or Windows mobile operating systems from both the practical software implementation and the theoretical software design perspectives. Topics covered include: Overview of mobile systems development, scope of mobile software, mobile development environments, user interface design, receivers/alerts and services coordination, hardware interaction, multimedia integration, and networking/location-based services utilizat
Computer networking overview; OSI model and network layers; Ethernet and other local area network technologies; routing and data flow control; point-to-point, broadcasting, local and wide area networks; internetworking; modern network management protocols; network administration. Some programming assignments and practical work may be assigned to gain understanding of the network protocols.
Review of business programming language principles and techniques; interfacing with computing environment; sorting, table handling, indexing and searching; preparation and handling of data; file organization, and file update; business system analysis, design and implementation; introduction to business information systems.
This course is designed to introduce and explore new subjects in Computer and Information Sciences at 300-level based on faculty and student interest. Topics will vary and may include: New Programming Languages, Advanced Web Development topics, Project Management Controlling, Risk Management, Project Teams, Communication and Documentation, Organizational Structures, Introduction to MS Project, or other relevant topics as they arise.
CSIT 411Programming for Embedded Microcontrollers3
Programming and development for embedded microcontrollers. Embedded architecture, programming considerations related to embedded systems development. Memory utilization, I/O, synchronous and asynchronous serial communication. Utilization of timers, and interrupts. Development considerations for comparators, A/D converters, USARTs and other on-board peripheral devices. Debugging, and utilization of test equipment such as multimeters and oscilloscopes. Students will build a series
Review of computer organization and digital logic principles; system buses and peripherals, main and cache memory overview; pipelined processing; RISC and CISC concepts; Superscalar and IA-64 architecture; performance evaluation; microarchitecture level and the control unit. Term projects in digital system design are emphasized.
Basic concepts and major issues of software engineering; current tools and techniques providing a basis for analysis, design, development, maintenance, and evaluation of software systems; structured walkthrough and software testing; verification and validation; technical, managerial, administrative, and operating issues; privacy, security, and legal issues; developing a team project using software engineering principles.
System software organization, purpose and functions of computer operating systems, batch processing systems: translation, loading and execution; serial and parallel I/O processing; spooling; interrupt facilities; memory protection and management; file systems; multi-access and special-purpose systems; process scheduling; accounting procedures and resource management; classical and popular operating systems.
Finite automata; languages and grammars; review of language structure, translation, linking, loading, execution; run-time storage organization; compilation of simple structures; compiler design principles, organization and implementation; lexical analysis; symbol tables; parsers and semantic analysis; code generation and optimization; error diagnostics.
Introduction to Computer Networks, OSI model and network layers; protocols design; analog and digital communication; analog and digital modulation techniques; multiplexing; framing; error detection and correction; flow control and access control at the link layer; IP addressing; routing and routing protocols; tcp; congestion control and flow control; udp; application layer protocols and socket programming; wireless networks including Wi-Fi, Bluetooth and mobile networks; network
Designing client-server applications with sockets; traffic analysis; building concurrent and multi-service servers; designing network protocols; measuring and analyzing performance of protocols. Students will complete a number of programming and network analysis experiments during the semester.
Review of contemporary operating systems, OS design principles and strategies; examination of communication and synchronization protocols; concurrent processes and process scheduling including their statistical analysis; distributed operating systems; client-server computing model; distributed resource management; multiprocessor OS; failure recovery and fault tolerance; data security; applications.
Introduction to design and analysis of algorithms: time and space complexity, verification of correctness; advanced algorithm design strategies: iterative, divide and conquer, greedy method, dynamic programming, branch and bound, etc.; specific examples drawn from sorting, searching, string searching, graph problems, matrices, polynomial arithmetic, cryptography; hard problems and approximation algorithms: Knapsack, bin packing, and graph coloring problems, etc.
Large scale information organization; basic concepts and terminologies of file management techniques; storage hierarchies, external storage devices; mass storage systems; common file structures and organization methods; physical file organization; list, inverted, and tree structured file organization methods; file systems; concepts of data modeling; data languages; search, retrieval and processing methods; introduction to relational databases and database management systems.
Review of data modeling and databases (DB); entity/relationship and relational models; relational algebra; relational databases; database architecture; data integrity; SQL design; SQL and QBE languages; functional dependencies; normalization; data protection and SQL concurrency; data and database security; object-oriented databases; distributed and client/server systems; introduction to DB administration.
Information and computer information systems; information hierarchy; decisions and decision-making; functional components of a decision support system; intelligent/knowledge-based decision-making and knowledge management; architecture of decision systems; distributive and group decision-making; executive information systems; expert and fuzzy systems; reasoning and explanation; knowledge elicitation and representation; logistics and long-term decision-making.
An introduction to cloud computing will be provided. Topics include history and motivation for cloud, elastic computing, types of clouds, data center infrastructure, virtual machines, containers, virtual networks, virtual storage, automation and orchestration, cloud service models, DevOps, and related topics will be covered. Students may be provided with opportunities to work on hands-on activities utilizing free-tier on public clouds and local computers.
CSIT 458Lab Supervision in Computer and Information Sciences1
A supervisory experience working in the Computer and Information Sciences department's laboratories under the guidance of a faculty member. Student experiences may include preparing and handling lab materials, help students needing guidance in completing assignments, and demonstrating procedures and techniques to students. Student must have Junior/Senior Standing and Departmental Approval is needed.
CSIT 461Introduction to AI and Knowledge Engineering3
Overview of artificial intelligence tools and techniques; searching methods; applications of AI: game playing, expert systems and knowledge-based systems; components of a knowledge-based system; knowledge acquisition, representation, and formalization; numerical and symbolic processing; information theoretic and decision theoretic algorithms; inference engine; machine learning; reasoning and explanation; basic concepts and major issues of knowledge engineering; current tools and
Introduction to computer graphics; graphics hardware, systems and APIs; raster and vector graphics; basic 2D primitives; points, lines, arcs, polygons and poly-lines; basic 3D shapes; raster algorithms for drawing 2-D primitives; 2D and 3-D geometrical transformations; projections; rendering, lighting, and animation; representation of curves and surfaces; solids modeling; applications of the above concepts.
CSIT 463Introduction to Digital Image Processing and Computer Vision3
Introduction to digital image and signal processing, computer vision and pattern recognition; image acquisition, registry and display; elementary image processing algorithms: sampling, preprocessing, smoothing, segmentation, and sharpening; transformations; filtering; image coding and restoration; analog and digital images and image processing systems; feature extraction and selection; elementary pattern classification and vision systems; robotics; machine learning.
Overview of information systems (IS) for business organizations; IS systems management; strategic uses of IT, and I-commerce; IS planning, using and managing essential technologies: databases, distributed systems, telecommunications, information resources; managing IS operations; managing systems development; systems for supporting knowledge-based work; practices and challenges for business competitiveness; information systems theory and quality decision theory; electronic and m
Overview of data and information sharing; principles of information sharing; information security; data mining, data warehousing, and data marts; data modeling; data collection, problems, quality, and integrity; databases and content management; business intelligence; online analytical processing; data visualization, multidimensionality, and real-time analytics; examples of data warehousing and data mining - geographic information systems, web intelligence, resource management,
Topics include Internet technology for business advantage, managing e-commerce funds transfers, business opportunities in e-commerce, Website development, social, political and ethical issues associated with e-commerce, and business plans for technology ventures. The purpose of the course is to educate the students about the technology required of e-commerce. Lab instruction in Internet application development complements the course.
A variable-topics course in computer and information sciences. Topics normally not covered in the Computer Science or Computer Information Systems degree programs, but suitable to explore at length at the senior level. Project and a formal presentation are required.
Faculty-supervised research on a computer and information sciences topic of interest to the faculty member and the student. Minimum of 80 hours of productive work required. A thesis documenting problem statement, approach, methodology, and results will be submitted upon completion.
Faculty-directed work on a computer and information sciences project of interest to the faculty member and student. Minimum of 80 clock hours of productive work required. A report of presentation discussing approach, methodology, and results will be submitted upon completion.
CSIT 501Network Management and System Administration3
Introduction to Computer Networks will be provided. Activities involved in deploying, configuring, administering, operating and managing networks will be a part of this course. Topics such as Fault Management, Configuration Management, Performance Management, Security Management and Account Management will be discussed in addition to System Administration. The course will include study of protocols involved and hands-on lab exercises to understanding working of the protocols and
Security control types, Need to know and least privilege, Access control models, Identification and authentication, User account provisioning, Access control methods, Biometrics, Multi-factor techniques, SSO technologies, Security operations, Change and configuration management, Privilege management, Incident response and investigation, Backup and Recovery operations, Application Security testing, client-server app vulnerabilities, secure SDLC, Database security.
Probability theory, Symmetric and asymmetric cryptography, Common cryptographic algorithms, Steganography, Hashing and Message Digests, Key Management, Public Key Infrastructure and certificate management, Cryptanalysis and Cryptographic attacks, Standard cryptographic tools.
CSIT 506Penetration Testing and Exploit Development3
Introduction to penetration testing, Penetration testing methodology, reconnaissance, Google hacking, email harvesting, Open source intelligence and social media, enumeration, DNS enumeration, Port scanning, Vulnerability assessments, exploits and exploit development, bypassing antivirus, Post-exploitation techniques, Privilege escalation, Password retrieval and cracking, Pivoting, Web application hacking, SQL Injection, Cross-site scripting, Cross-site request forgery, Local an
Designing client-server application with sockets; traffic analysis; building concurrent and multi-service servers; designing network protocols; measuring and analyzing performance of protocols. Students will complete a number of programming and network analysis experiments during the semester. Background assumed: Data Communication and Networks II or equivalent.
Review of contemporary operating systems (OS), OS design principles and strategies; examination of communication and synchronization protocols; concurrent processes and process scheduling including their statistical analysis; distributed operating systems; client-server computing model; distributed resource management; multiprocessor OS; failure, recovery and fault tolerance; data security; applications. Background assumed: Introduction to Operating Systems or equivalent.
Topics include: time and space complexity; verification of correctness; advanced algorithm design strategies (iterative, divide-and-conquer, greedy methods, dynamic programming, branch-and-bound, etc., with specific examples drawn from sorting, searching, graph theory, matrix and polynomial arithmetic, and cryptography); hard problems and approximation algorithms, with examples such as napsack, bin-packing, and graph coloring problems; introduction to parallel algorithms as time
Typical topics include: Red-Black trees; AVL trees; B trees; B+ trees; B* trees; tries; splay trees; spatial data structures; self-organizing lists; summation techniques; recurrence relations, including establishing bounds and expanding recurrences; hashing and other complex indices; complexity of searching on various structures. Background assumed: Data Structures.
The course exposes students to a wide range of state-of-the-art research and techniques in the field of computational biology. This is a modern discipline dealing with the discovery and implementation of algorithms facilitating the understanding of biological processes. Various statistical, heuristic, and machine learning methods are used for this purpose, as well as graphical tools to visualize the objects. The course is intended to present some biological problems related to t
A variable topics course in computer science. Topics normally not covered in Computer Science or Computer Information Systems undergraduate degree programs but suitable to explore at length at graduate and senior level. Project and a formal presentation are required. Prerequisite: CSIT 341 or equivalent background knowledge and permission of instructor.
The course focuses on the design of CMOS VLSI (Very Large Scale Integrated) chips using integrated circuit cells as building blocks and employing hierarchical design methods. Focus will be on the design of digital systems. Design issues at layout, schematic, logic and RTL levels will be studied. Shareware and freely available design software will be used for laboratory exercises. An overview of VLSI computer-aided design (CAD) tools and theoretical concepts in VLSI architectures
The course focuses on modern software project development techniques. Topics include Universal Modeling Language (Use Case, Sequence, and Class diagrams), code reusability, design patterns, component development and versioning software. Students will produce a significant, multifaceted software product.
The course deals with the security aspect of information and data exchange on shared internetworks. The requirements of secure transfer include secrecy, integrity, authentication and non-repudiation. The mechanisms to fulfill these requirements are introduced including encryption algorithms that provide privacy, message authentication, and non-repudiation. Practical implementation of security on top of the three layers of the OSI reference model is highlighted. The various forms
The advances in computer science are rapid. The course is designed to cover current issues in computer systems structures. Current topics in one or more fields of computer architecture, system software, network, wireless computing, etc. will be covered in detail.
The course is designed to cover current issues in theory of computations. Current topics of instructor's choice in the field of computer systems theory, computations and algoritms, will be selected. Background assumed: Theory of Computation
CSIT 669Selected Topics in Information Structures and Systems3
Designed to cover current issues in information systems and structures. Current topics in one or more fields of computer architecture, computer information architecture, artificial intelligence and knowledge engineering, databases, systems and systems software, software engineering, data protection, concurrency and security, etc.
CSIT 670Data Compression for Multimedia Applications3
Introductory course on data compression, which is an essential concept for communication and networking, with specific emphasis on multimedia. Topics include: information theory, source coding, dictionary and quantization techniques, image and sound compression.
Topics may include: basic multimedia concepts; human perception; hardware requirements for multimedia applications; creating and processing images and sound by computer; multimedia and web; compression; main features of a graphical modeling language (e.g., VRML language); authoring tools, principles of working with an authoring system; creating an interactive multimedia application. Background assumed: Computer Graphics course or approval of instructor.