CSIT Computer Info Sciences
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.
1
Credits
1
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.
3
Credits
3
Understanding algorithmic thinking and problem-solving, fundamentals of computer and programming concepts, introduction to Python programming language, basic input/output statements, expressions, conditional statements, loops, variables, lists, functions, classes, and objects.
3
Credits
3
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.
3
Credits
3
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.
3
Credits
3
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.
3
Prerequisites
MATH 120 or
MATH 122
Credits
3
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.
3
Credits
3
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.
3
Credits
3
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.
3
Credits
3
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 combinatorics, culminating in an introduction to graph theory. Through theoretical discussions and problem-solving exercises, students will develop a strong foundation in discrete structures and mathematical reasoning.
3
Credits
3
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 with a set of above applications. The course is designed for students who will work as end-users, user-managers, leaders, or information systems professionals.
3
Credits
3
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.
3
Credits
3
Understanding algorithmic thinking and problem-solving, fundamentals of computer and programming concepts, introduction to Python programming language, basic input/output statements, expressions, conditional statements, loops, variables, lists, functions, classes, and objects.
3
Credits
3
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 editing. Using these software packages and applying the principles learned in the course, students will practice creating, processing, and modifying graphics and sound. Students will gain practical hands-on experience through the course work and understand the operating principles of multimedia systems. No programming background is assumed.
3
Credits
3
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 laboratory component to ensure practice with the above concepts.
3
Prerequisites
CSIT 105 or
CSIT 121
Credits
3
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.
3
Prerequisites
CSIT 107 or
CSIT 121 or
CSIT 202
Credits
3
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 course provides a computer laboratory component to ensure practice with the above concepts.
3
Prerequisites
CSIT 121
Credits
3
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.
3
Prerequisites
CSIT 221
Credits
3
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.
3
Prerequisites
CSIT 221
Credits
3
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. Working in teams, the students will demonstrate their successes and describe and demonstrate their efforts in a final project.
3
Credits
3
A continuation of
CSIT 143. Topics include combinatorics, digraphs, and trees; recurrence relations; automata, grammars and languages; other topics as time permits.
3
Prerequisites
CSIT 221 and
CSIT 143
Credits
3
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.
3
Prerequisites
CSIT 151 or BUAD 161 or
CSIT 104
Credits
3
Selected topics in computer and information sciences based on instructor or student interest requiring basic understanding of computer information systems operations.
1-3
Credits
1-3
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.
1-12
Credits
1-12
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
Credits
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
3
Prerequisites
CSIT 107 and
CSIT 207
Credits
3
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 expected.
3
Prerequisites
CSIT 203 or
CSIT 221
Credits
3
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.
3
Prerequisites
CSIT 121
Credits
3
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 Science majors may not count this course to meet major requirements.
3
Prerequisites
CSIT 105 or
CSIT 121
Credits
3
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 related to internationalization, such as cultural, ethical, and social aspects of interaction. Students will learn how to gather requirements, to design usable interfaces, and both implementation and evaluation processes. They will gain hands-on experience with contemporary interaction design techniques, and will have the opportunity to analyze and critique various computing interfaces including web sites, computer systems, video games, mobile devices, and more.
3
Prerequisites
CSIT 121 or
CSIT 151
Credits
3
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.
3
Prerequisites
CSIT 205 or
CSIT 221
Credits
3
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.
3
Prerequisites
CSIT 221
Credits
3
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 utilization.
3
Prerequisites
CSIT 205 or
CSIT 221
Credits
3
Review of basic data structures and algorithmic complexities; recursion; topological order; Sorting and searching; Huffman codes; tries; binary trees; binary search trees; tree traversals; general trees, heaps, balanced trees; priority queues; hashing; graphs, graph algorithms.
3
Prerequisites
CSIT 205 or
CSIT 221
Credits
3
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.
3
Prerequisites
CSIT 205 or
CSIT 251
Credits
3
An intensive project-oriented course utilizing emerging technologies. Departmental approval is required.
1-3
Credits
1-3
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.
3
Prerequisites
CSIT 221
Credits
3
Independent study of a selected list of readings approved by a faculty advisor. Permission of the department required.
1-3
Credits
1-3
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 of embedded projects of increasing complexity. Some very basic electronic design principles are also included.
3
Prerequisites
CSIT 221
Credits
3
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.
3
Prerequisites
CSIT 311 or
CSIT 312
Credits
3
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.
3
Prerequisites
CSIT 221 or
CSIT 205
Credits
3
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.
3
Prerequisites
(
CSIT 311 or
CSIT 312) and
CSIT 341 and
CSIT 231
Credits
3
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.
3
Prerequisites
(
CSIT 311 or
CSIT 312) and
CSIT 341
Credits
3
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 management and emerging topics in networking such as software defined networking and machine learning for networking. Some programming assignments and practical work may be assigned.
3
Prerequisites
CSIT 202 and
CSIT 221
Credits
3
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.
3
Prerequisites
CSIT 435
Credits
3
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.
3
Prerequisites
CSIT 431
Credits
3
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.
3
Prerequisites
CSIT 242 and
CSIT 341
Credits
3
Regular expressions and finite automata; context-free grammars and pushdown automata; pumping arguments; closure properties; decision algorithm; Turing machines; computability and decidability; halting problem; and elementary complexity theory.
3
Prerequisites
CSIT 242 and
CSIT 341
Credits
3
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.
3
Prerequisites
CSIT 341
Credits
3
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.
3
Prerequisites
CSIT 121
Credits
3
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.
3
Prerequisites
CSIT 341 or
CSIT 351
Credits
3
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.
1
Credits
1
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 techniques for analysis, design, development of the knowledge based systems; applications in robotics, medical diagnosis, smart decision systems, etc.
3
Prerequisites
(
CSIT 205 or
CSIT 221) and CSIT 241
Credits
3
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.
3
Prerequisites
CSIT 221 or
CSIT 205
Credits
3
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.
3
Prerequisites
CSIT 205 or
CSIT 221
Credits
3
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 mobile commerce; social and ethical issues; IS and IT implementation.
3
Prerequisites
CSIT 205 or
CSIT 221
Credits
3
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, multimedia-based databases, knowledge bases, etc.
CSIT 121 is a prerequisite.
CSIT 221 is recommended but not required.
3
Prerequisites
CSIT 121
Credits
3
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.
3
Prerequisites
(
CSIT 205 or
CSIT 221) and
CSIT 207
Credits
3
Studies, discussions, workshops and seminars on selected topics in computer science. Written reports and a formal presentation are required.
1-3
Credits
1-3
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.
1-3
Credits
1-3
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.
3
Prerequisites
CSIT 341 or
CSIT 351
Credits
3
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.
3
Prerequisites
CSIT 341 or
CSIT 351
Credits
3
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 other concepts related to Network Management and System Administration. An introduction to Software Defined Networks will be a part of this course including hands-on exercises.
3
Credits
3
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.
3
Credits
3
Introduction to Network Security. Network attacks. Secure network architecture. VLANs. NAT. VPNs. Firewalls. Packet inspection. Ingress/Egress filtering. Intrusion detection. Intrusion prevention. Network encryption.
3
Prerequisites
CSIT 501*
Cross Listed Courses
* Indicates that the course can be taken in the same semester
Credits
3
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.
3
Prerequisites
CSIT 502
Credits
3
Quality Assurance, Maturity models, Change management, Asset management, Security policies, Security management, Threat profiling and risk analysis, Risk management techniques, Business continuity planning, Disaster recovery, Regulatory compliance, HIPAA and PCI requirements, legal issues, Computer crime and criminal investigations, Privacy and Ethics.
3
Prerequisites
CSIT 502
Credits
3
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 and remote file inclusion.
3
Prerequisites
CSIT 503
Credits
3
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.
3
Credits
3
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.
3
Credits
3
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 permits. Background assumed: Mathematical Structures and Proof and Data Structures.
3
Credits
3
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.
3
Credits
3
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 the human genome and the computational methods to resolve them. It will cover an introduction to computational biology, the use of computational methods to search for, classify, analyze, and model protein sequences, i.e. to convert the masses of information from biochemical experiments into useful information.
3
Credits
3
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.
3
Credits
3
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 will also be discussed. Prerequisite: Completed at least one course in logic design or computer architecture at the undergraduate level.
3
Credits
3
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.
3
Prerequisites
CSIT 425
Credits
3
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 of attacks including intrusions, worms, viruses, Trojan horses and distributed attacks are discussed along with the defense mechanisms of firewalls and intrusion detection and prevention techniques. Background assumed: Data Communication and Networks II.
3
Credits
3
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.
3
Credits
3
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
3
Credits
3
Statistical pattern recognition; syntactic pattern recognition; neural networks; applications. Topics include: Bayesian classifiers; linear classifiers; nonlinear classifiers; context-dependent classification; system evaluation; feature selection; clustering. Background assumed: Probability and Statistics.
3
Credits
3
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.
3
Credits
3
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.
3
Prerequisites
CSIT 341
Credits
3
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.
3
Credits
3