2021-2022 Catalog 
    
    Sep 27, 2024  
2021-2022 Catalog [ARCHIVED CATALOG]

Course Descriptions


Undergraduate Courses

000 to 499 subdivided as follows:

000 to 099 designate courses which normally are not counted towards a student’s baccalaureate.
100 to 299 designate Lower Division courses. This category is further subdivided as follows:
100 to 199 designate undergraduate Lower Division courses recommended for, but not restricted to, students studying the subject at a freshman or sophomore level. Such courses generally do not require any prerequisite course work for fully matriculated students.
200 to 299 designate undergraduate Lower Division courses recommended for, but not restricted to, students studying the subject at sophomore level. Courses in this category require specific or general prerequisites which are usually completed at the freshman level.
300 to 499 designate Upper Division courses. This category of courses is further subdivided as follows:
300 to 399 designate undergraduate Upper Division courses recommended for, but not restricted to, students studying the subject at a junior or senior level. These courses presume specific or general prerequisite course work at the Lower Division level.
400 to 499 designate undergraduate Upper Division courses recommended for, but not restricted to, students studying the subject at the senior level. Courses in this category have prerequisites which students have usually completed at the junior level.

Graduate Courses

500 to 899 subdivided as follows:

500 to 599 designate courses offered at the graduate level which prepare students for a graduate degree program or designate professional teacher-training courses.
600 to 699 designate courses at the master’s and credential level.
700 to 799 designate courses at the doctoral level.
800 to 899 designate courses at the School of Law.
5000 to 6999 designate courses at the MBA level.
7000 to 7999 designate courses at the doctoral Nursing level.

 

Communication Studies

  
  • COMS 369 - Comm and Health Disparities


    Unit(s): 4

    We live in a world of widespread health inequality. This community-engaged learning course will examine health disparities from a communication perspective. We will learn and work through collaborative engagement with community organizations and members to create small scale positive change using communication to reduce inequalities in health.


    Prerequisite: COMS 204 and (COMS 253 or COMS 254)
    College of Arts and Sciences
  
  • COMS 372 - Comm,Disability & Soc Just


    Unit(s): 4

    An advanced service-learning course designed to examine the attitudes and perceptions of and toward persons with disabilities, how communication creates and perpetuates an inaccurate and unjust depiction of disabled persons, the communicative behaviors of persons who are disabled and the nondisabled during their interaction, and how theories of communication and social justice can illuminate how this socially interactive inequity may be remedied.


    Prerequisite: COMS 253
    College of Arts and Sciences
  
  • COMS 375 - Intl Conflict & Alliance Bldg


    Unit(s): 4

    This course explores international/intercultural perspectives to conflict, intercultural conflict resolution, alliance building, and transforming intercultural relationships. The course is designed to increase your awareness of culture and communication, to give particular attention to several international regions in which conflict has been extensively studied, to increase your understanding of how cultural differences affect conflict and conflict resolution, to increase your ability to assess your own and others’ cultural identities and experiences in conflict, and to try out and apply conflict management and community building strategies such as dialogue, problem solving, peace circles, and community building. Current research on third party processes such as mediation, intergroup dialogue, and community development will be applied to international sites as well as to U.S. community conflicts.


    Prerequisite: COMS 204
    College of Arts and Sciences
  
  • COMS 390 - Special Topics in Comm Studies


    Unit(s): 2 to 4

    Exploration of one or more selected topics in the field.


    College of Arts and Sciences
  
  • COMS 398 - Directed Study


    Unit(s): 1 to 4

    A faculty supervised program of reading and study in communication. May be repeated for credit. Requires written permission of instructor, chair, and dean. See COMS website for full guidelines.


    College of Arts and Sciences
  
  • COMS 399 - Directed Project


    Unit(s): 1 to 4

    A faculty supervised project (such as internship or research experience) for credit. DOES NOT count toward the COMS major. Students can accumulate a maximum 8 units.


    College of Arts and Sciences
  
  • COMS 490 - Topics in Comm Studies


    Unit(s): 4

    Advanced topics not examined in regular course offerings. May be repeated for credit. This class counts toward the COMS major/minor.


    College of Arts and Sciences
  
  • COMS 496 - Comm Studies Internship


    Unit(s): 4

    Field experience in a setting that relates communication study to the student’s professional goals. Students may count no more than four (4) credits of Internship credit toward the major.


    Prerequisite: COMS 202 and COMS 203 and COMS 204 or (COMS 252 or COMS 253 or COMS 254)
    Restriction: Class restricted to Junior and Senior
    College of Arts and Sciences

Comparative Literature & Cultures

  
  • CMPL 195 - FYS: First-Year Seminar


    Unit(s): 4

    First Year Seminars are designed and taught by faculty who have a special passion for the topic. All FYSeminars are small classes (16 students) that count toward the university Core. Many FYSeminars include enrichment activities such as excursions into the city or guest speakers. FYSeminars are only open to students in their first or second semester at USF, and students may only take one FYS, in either Fall or Spring. For a detailed description of this course, and other FYSeminars this semester, go to this webpage by cutting and pasting the link: https://myusf.usfca.edu/arts-sciences/first-year-seminars


    Restriction: Class restricted to Freshman
    College of Arts and Sciences
  
  • CMPL 200 - Cultures in Conflict


    Unit(s): 4

    A substantial introduction to the basic principles and methodology of literary analysis for comparing works of different cultural origins, time periods, and regions of the world. This course will focus on representations of conflicts in literature that sustain a diversity of perspectives including issues of war, power, class, gender and ethnicity, displacement and discrimination.


    College of Arts and Sciences
  
  • CMPL 210 - Literatures of the Body


    Unit(s): 4

    A substantial introduction to the basic principles and methodology of literary analysis for comparing works of different cultural origins, time periods, and regions of the world. This course will focus on representations of the human body that sustain a diversity of perspectives to address questions of body politics, gender and sexualities, race, class, and social inequalities.


    College of Arts and Sciences
  
  • CMPL 295 - TYS: Transfer Year Seminars


    Unit(s): 4

    Transfer Year Seminars (TYS) are designed and taught by faculty who have a special passion for the topic. All TYSeminars are small classes (16 students) that count toward the university Core. Many TYSeminars include enrichment activities such as excursions into the city or guest speakers. TYSeminars are only open to transfer students who are in their first or second semester at USF, and students may only take one TYSeminar, in either Fall or Spring. For a detailed description of this course, and other TYSeminars offered this semester, go to this webpage by cutting and pasting the link: https://myusf.usfca.edu/arts-sciences/first-year-seminars


    Prerequisite: TRNS 1XX
    College of Arts and Sciences
  
  • CMPL 398 - Directed Study


    Unit(s): 1 to 4

    A course in the area of the proposed topic for directed study. Written permission of the instructor required.


    College of Arts and Sciences
  
  • CMPL 399 - Critical Analysis


    Unit(s): 4

    This course builds on the analytical and critical skills developed in English 190 and 191 through examination of the major methodologies of Twentieth Century literary theories. Offered every Fall.


    Prerequisite: (CMPL 195 and CMPL 200) or CMPL 295
    College of Arts and Sciences
  
  • CMPL 400 - Capstone Sem/Comparative Lit


    Unit(s): 4

    A course that integrates the comparative knowledge and skills derived from previous work in a seminar setting and a significant research project. Offered every Spring.


    Prerequisite: CMPL 390
    College of Arts and Sciences

Computer Science

  
  • CS 106 - Computers, Genes, and Society


    Unit(s): 4

    We’ll investigate how computer science, biology and math come together in Bioinformatics to impact our lives. We’ll study applications of Bioinformatics, such as CSI and gene therapy, including ethical concerns. We’ll use simple Bioinformatics tools and propose policy.


    College of Arts and Sciences
  
  • CS 107 - Computing, Mobile Apps, & Web


    Unit(s): 4

    An introduction to computer science for non-majors with little prior programming experience. Students develop programs using visual and high-level programming languages to control robots, create animated simulations, and build Internet and general applications. In addition, students are exposed to an overview of computing and its influence on modern society. Offered Fall and Spring.


    College of Arts and Sciences
  
  • CS 110 - Intro to Computer Science I


    Unit(s): 4

    Use of procedures, parameter passing, block structures, data types, arrays, abstract data structures, conditional control, iterative and recursive processes, and input/output in programming solutions to a variety of problems. Top-down and bottom-up design and functional decomposition to aid in the development of programs. Four hours lecture and two hours lab. Offered Fall and Spring.


    Prerequisite: (CS 107 with a minimum grade of C or concurrent MATH 109 with a minimum grade of C)
    College of Arts and Sciences
  
  • CS 112 - Intro to Computer Science II


    Unit(s): 4

    Design and development of significantly sized software using top-down design and bottom-up implementation. Dynamically allocated data, object-oriented programming, architecture of memory, basics of language translation, and basics of algorithm analysis. Development of simple graphical user interfaces. Four hours lecture. Offered Fall and Spring.


    Prerequisite: CS 110 with a minimum grade of C
    College of Arts and Sciences
  
  • CS 131 - Creating Images: Photoshop I


    Unit(s): 2

    First in a two-part series. Introduction to image design, manipulation and processing for utilization in print, on the web and photographically. Acquiring images through scanning, from the Web and other sources. Introduction to Adobe Photoshop tools and palettes. Use of Photoshop tool in image correction, development and collaging. Students develop a portfolio of images. Taught in lecture/lab format using Adobe Photoshop. Offered Fall/Spring.


    College of Arts and Sciences
  
  • CS 141 - Word Processing


    Unit(s): 2

    Basic word processing including the creation, editing, merging and printing of documents. Block operations, search and replace, spell checking, footnotes, headers/footers, and type styling. Taught in lecture/lab format with exercises selected from contemporary word processors such as Microsoft Word. Offered Fall and Spring.


    College of Arts and Sciences
  
  • CS 142 - Creative Tools: Publishing I


    Unit(s): 2

    Survey of desktop publishing systems and capabilities, including document import, layout, page formatting, zooming, printer and font setup. Enhancing publications through graphics; basic drawing tools; captions, logos, and photographs; cropping and panning techniques. Taught in lecture/lab format using Adobe Pagemaker.


    College of Arts and Sciences
  
  • CS 151 - Spreadsheet Computing I


    Unit(s): 2

    Learn to use Microsoft Excel as a spreadsheet tool to analyze and manage data. Topics: Windows Explorer, workbook window, menus, toolbars, commands, basic formulas, editing and formatting, simple functions, print options, opening/closing workbooks, worksheets, file management, numeric labels, values, date formats, serial dates, date calculation, mathematical operators, and relative versus absolute cell referencing. Taught in lecture/lab format using Microsoft Excel. Offered Fall/Spring.


    College of Arts and Sciences
  
  • CS 161 - Database Computing I


    Unit(s): 2

    Overview of the design of database management systems and issues in the design of a relational database schema. Introduction to database creation, editing, querying, and report generation using a commercial database system. Taught in lecture/lab format.


    College of Arts and Sciences
  
  • CS 171 - Web Site Design/Development I


    Unit(s): 2

    Introduction to the Internet, web browsers, and e-mail. Procedures for accessing information on the web, including the use of search engines. Survey of major information sources. Taught in lecture/lab format. Offered Fall/Spring.


    College of Arts and Sciences
  
  • CS 181 - Presentation with PowerPoint


    Unit(s): 2

    Planning, production, and implementation of computer-based multimedia presentations. Editing and formatting slides for individual and large-group presentations. Using ClipArt, WordArt, drawing tools and AutoShapes. Creating organization charts. Includes text, graphics, charts, tables, and templates. Involves individual student projects. Taught in lecture/lab format using PowerPoint software. Offered Fall/Spring.


    College of Arts and Sciences
  
  • CS 182 - Animation in Adobe Animate


    Unit(s): 2

    Practical Series in Computer Science. This course focuses on computer animation using Adobe Flash. Students develop skills in animation including: drawing, painting, and creating text in Flash. Importing and modifying images for Illustrator, Photoshop, and other programs. Working with layers. Creating symbols. Using the library for storing images and movie clips. Shape and motion tweening. Traditional animation techniques. Use of timelines and keyframes. Using sound. Creating buttons. Involves individual student projects. Taught in lecture/lab format. Offered Fall/Spring.


    College of Arts and Sciences
  
  • CS 184 - Drawing on the iPad


    Unit(s): 2

    This is a hands-on, lab-based class, introducing the iPad as a tool for drawing, painting, animating -and writing, drawing and laying out a finished one-page comic story. Students will learn in a step-by-step manner how to use an array of the most current and professional iPad applications. Students create artwork throughout the class, supported by instruction in drawing and painting, bolstered by a comprehensive foundation in design and color theory.


    College of Arts and Sciences
  
  • CS 185 - Visualizing Data with Tableau


    Unit(s): 2

    This course provides students with a comprehensive review and hands-on practice using Tableau. Students are provided opportunities to learn the many features available in Tableau and work with datasets, visualizations, reports, and dashboards. Students practice connecting to data sources, working with dimensions and measures, developing reports and charts, formatting and saving workbooks, creating calculations, incorporating filters, sorting, grouping, creating hierarchies, forecasting, exporting, and distributing visualizations


    College of Arts and Sciences
  
  • CS 186 - Sp Topics in Computer Sci


    Unit(s): 1 to 4

    Topics not covered by other CS curricular offerings. Students may register for this class in more than one semester. Consent of instructor required. Offered intermittently.


    College of Arts and Sciences
  
  • CS 191 - 3D Comp Graphics & Animation


    Unit(s): 2

    Three-dimensional virtual worlds created with the Virtual Reality Modeling Language (VRML) for use in worldwide web pages. Basic structures and adjustment of predefined simple and complex scenes. Survey of higher level tools for creating VRML worlds and other approaches to 3D web content. Taught in lecture/lab format using proprietary software and shareware.


    College of Arts and Sciences
  
  • CS 220 - Intro to Parallel Computing


    Unit(s): 4

    Introduction to the C programming language. Overview of parallel architectures. Programming shared and distributed memory parallel computers. Parallel program performance evaluations. Four hours lecture. Offered every Fall.


    Prerequisite: CS 112 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1) Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 221 - C and Systems Programming


    Unit(s): 4

    Introduction to the C programming language and UNIX/Linux systems programming. Pointers in C, libraries, devices, processes, threads, system calls, memory management, and interprocess communication with sockets.


    Prerequisite: CS 112 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1) Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 245 - Data Struct & Algorithms


    Unit(s): 4

    Algorithm analysis and asymptotic running time calculations. Algorithm design techniques and implementation details. Algorithms for sorting and searching, trees, graphs, and other selected topics. Four hours lecture. Offered every Spring.


    Prerequisite: (MATH 235 with a minimum grade of C or MATH 201 with a minimum grade of C) and CS 112 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 256 - Career Prep


    Unit(s): 2

    This course helps to prepare students for starting a career as a Software Engineer. With a focus on technical interviewing, this hands-on course involves solving whiteboard challenges and common coding interview questions.


    Prerequisite: CS 245
    Restriction: Field of study restricted to Computer Science Major
    College of Arts and Sciences
  
  • CS 272 - Software Development


    Unit(s): 4

    Advanced programming topics including inheritance and polymorphism, multi-threaded programming, networking, database programming, and web development. Techniques for debugging, refactoring, and reviewing code.


    Corequisite: CS-272L
    College of Arts and Sciences
  
  • CS 272L - Software Development Lab


    Unit(s): 0

    0 unit lab course associated with CS 272 Software Development.


    Corequisite: CS-272
    College of Arts and Sciences
  
  • CS 283 - UX-Design for Non-Majors


    Unit(s): 4

    This course teaches the fundamentals of a user-centered approach to User Experience design, prototyping, implementation, and evaluation for interactive digital products and online services.


    College of Arts and Sciences
  
  • CS 286 - Special Topics in Computer Sci


    Unit(s): 1 to 4

    Topics not covered by other CS curricular offerings. Students may register for this class in more than one semester. Consent of instructor required. Offered intermittently.


    Restriction: Field of Study restricted to Computer Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 315 - Computer Architecture


    Unit(s): 4

    Performance analysis techniques, instruction set design, computer arithmetic, digital design, processor implementation, and memory systems. Performance enhancement using pipelining and cache memory. Four hours lecture and two hours lab. Offered every Spring.


    Prerequisite: CS 220 with a minimum grade of C or CS 221 with a minimum grade of C and CS 245 with a minimum grade of C
    Corequisite: CS-315L
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 315L - Laboratory


    Unit(s): 0

    A laboratory course designed to accompany CS 315


    Corequisite: CS-315
    Restriction: Field of Study restricted to Computer Science, Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 326 - Operating Systems


    Unit(s): 4

    The design and implementation of operating systems. Study of processes, threads, scheduling, synchronization, interprocess communication, device drivers, memory management, and file systems. Four hours lecture and two hour lab. Offered every Fall.


    Prerequisite: (CS 220 with a minimum grade of C or CS 221 with a minimum grade of C) and (CS 245 with a minimum grade of C)
    Corequisite: CS-326L
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 326L - Laboratory


    Unit(s): 0

    A laboratory course designed to accompany CS 326


    Corequisite: CS-326
    Restriction: Field of Study restricted to Computer Science, Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 333 - Intro to Database Systems


    Unit(s): 4

    Data modeling, record storage, and file organization; database theory; relational, hierarchical, and network models; database management systems and query languages, programming language interfaces to databases; web-based client-server development. Four hours lecture.


    Prerequisite: CS 112 with a minimum grade of C and CS 245 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 336 - Computer Networks


    Unit(s): 4

    Current methods and practices in the use of computer networks to enable communication. Physical and architectural elements, and layered models of networks. Communication protocols and associated algorithms; local and wide area networks; network security. Four hours lecture.


    Prerequisite: CS 245 with a minimum grade of C and (CS 220 with a minimum grade of C or CS 221 with a minimum grade of C)
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 345 - Prog Language Paradigms


    Unit(s): 4

    Syntax, semantics, concepts, capabilities, and implementation details of several different programming languages, including imperative, functional, object oriented, and logical languages. Comparative advantages and disadvantages of different languages and paradigms. Four hours lecture. Offered every Fall.


    Prerequisite: CS 112 with a minimum grade of C and CS 245 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 360 - Data Visualization


    Unit(s): 4

    Introduces students to the field of data visualization. Covers basic design and evaluation principles, how to acquire, parse, and analyze large datasets, and standard visualization techniques for different types of data. Utilizes the Processing programming language and environment for rapid visualization prototyping.


    Prerequisite: CS 212 with a minimum grade of C or CS 245 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 384 - Research Seminar in CS


    Unit(s): 1

    In this course, students will explore an area of research in Computer Science by reading academic papers; independently learning tools and technologies related to the area; presenting research findings; leading tutorials on relevant tools; and participating in group discussion.


    Prerequisite: CS 112 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 385 - Special Lecture Series in CS


    Unit(s): 1

    Weekly colloquium and discussion session on current developments in various aspects of computer science. Students may register for this course in more than one semester. Majors must take this course at least twice. One hour lecture. Offered Fall and Spring.


    Prerequisite: CS 112 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 386 - Special Topics in Computer Sci


    Unit(s): 1 to 4

    Topics not covered by other CS curricular offerings. Students may register for this class in more than one semester. Consent of instructor required. Offered intermittently.


    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 398 - Directed Reading & Research


    Unit(s): 1 to 4

    Written permission of the instructor, chairperson, and dean is required.


    Restriction: Field of Study restricted to Computer Science, Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 411 - Automata Theory


    Unit(s): 4

    Finite state automata with bounded and unbounded memory. Regular languages and expressions. Context-free languages and grammars. Push-down automata and Turing machines. Undecidable languages. P versus NP problems and NP-completeness. Four hours lecture. Offered every Fall.


    Prerequisite: MATH 201 with a minimum grade of C and MATH 202 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 414 - Compilers


    Unit(s): 4

    Lexical analysis, parsing, semantic analysis, and code generation. Optimization techniques. Compiler design tools and compiler compilers. Four hours lecture. Offered every Spring.


    Prerequisite: CS 245 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 419 - Computer Graphics


    Unit(s): 4

    Theory and production of interactive computer graphics. Topics chosen from graphics programming and algorithms, modeling, rendering, ray-tracing, and animation. Four hours lecture.


    Prerequisite: CS 245 with a minimum grade of C and MATH 202 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 420 - Game Engineering


    Unit(s): 4

    Study of the design and implementation of 3D Computer Games. Topics include 3D Modeling and Texturing, 3D Math (including rotational and translational matrices and quaternions), collision detection, physics engines, and 3D Graphics engines.


    Prerequisite: CS 245 with a minimum grade of C and CS 212 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 451 - Data Mining


    Unit(s): 4

    Overview of techniques for gathering, exploring, transforming, modeling, and summarizing data sets including very large data sets, both structured and unstructured. Modeling approaches include techniques from supervised and unsupervised machine learning. Discussion of data cleaning and data preparation issues, including noise, missing and unbalanced data, discrete versus continuous features, and feature selection. Some techniques are implemented from scratch, while in other cases real-world tools such as R, Weka, or Python packages are applied to large-scale data sets.


    Prerequisite: (MATH 230 with a minimum grade of C or MATH 202 with a minimum grade of C) and (CS 245 with a minimum grade of C)
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 462 - Intro to AI


    Unit(s): 4

    This course provides students with an introduction to the foundational ideas and approaches to artificial intelligence, including search, knowledge representation and learning, along with contextual knowledge about ethics and social impact.


    Prerequisite: CS 245 with a minimum grade of C
    College of Arts and Sciences
  
  • CS 480 - Computers and Society


    Unit(s): 4

    Prerequisite: CS 112 (grade of C or better), or permission of instructor. Computer and network security measures; encryption protocols. Ethical theory and applications in computing. Seminar discussion on value systems, social impact, and human factors, and about use and misuse of computers. Four hours lecture.


    Prerequisite: CS 112 with a minimum grade of C
    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 486 - Special Topics in Computer Sci


    Unit(s): 1 to 4

    Topics not covered by other CS curricular offerings. Students may register for this class in more than one semester. Consent of instructor required. Offered intermittently.


    Restriction: Field of Study restricted to Computer Science, Computer Science (4+1), Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 490 - Senior Team Project


    Unit(s): 4

    Prerequisite: CS 212 (grade of C or better) and senior standing. Students working in teams investigate, specify, design, implement, test, document, and present to their classmates a significant software project. Sound software engineering practices are presented in lectures and used to evaluate each stage of the project. Written and verbal communication is emphasized through frequent documentation submissions, informal group discussions, code walk-throughs, and student presentations. With the instructor’s permission, the course may be repeated for credit. Four hours lecture. Offered Fall and Spring.


    Prerequisite: (CS 212 with a minimum grade of C) and (CS 245 with a minimum grade of C) and (CS 220 with a minimum grade of C or CS 221 with a minimum grade of C)
    Restriction: Class restricted to Senior; Field of Study restricted to Computer Science, Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 498 - Directed Reading and Research


    Unit(s): 1 to 4

    Written permission of the instructor, chairperson, and dean is required.


    Restriction: Field of Study restricted to Computer Science, Data Science Major, Computer Science Minor
    College of Arts and Sciences
  
  • CS 514 - Object-Oriented Programming


    Unit(s): 6

    An intense review of computer programming in Java, and large-scale software development using top-down design and bottom-up implementation. Topics include: Dynamically allocated data, Object-Oriented programming, memory architecture, inheritance and polymorphism, multi-threaded programming.


    Restriction: Course Student Attribute Restricted to Bridge MSCS Program; Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 520 - Modern Parallel Programming


    Unit(s): 4

    Accelerated introduction to parallel architectures and algorithms. C programming language. Programming distributed memory systems using MPI. Programming shared-memory systems using Pthreads and OpenMP. Programming GPUs with CUDA. Parallel program performance evaluations.


    Prerequisite: MATH 501 with a minimum grade of B and CS 514 with a minimum grade of B
    Restriction: Course Student Attribute Restricted to Bridge MSCS Program; Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 545 - Data Structures and Algorithms


    Unit(s): 4

    Asymptotic analysis of algorithms. Solving recurrence relations. In-depth discussion of algorithms for sorting and searching, trees, skip lists, heaps, hash tables, disjoint sets, graphs, self-balancing trees, and string matching. Covers dynamic programming and NP completeness.


    Prerequisite: CS 514 with a minimum grade of B and MATH 501 with a minimum grade of B
    Restriction: Course Student Attribute Restricted to Bridge MSCS Program; Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 560 - Data Visualization


    Unit(s): 4

    In-depth study of fundamentals of data visualization and techniques for evaluating visualizations. Introduction to Processing, D3 and Tableau, and applying these tools to create effective visualizations. The course involves reading research papers in the area of data visualization.


    Prerequisite: CS 514 with a minimum grade of B and MATH 501 with a minimum grade of B
    Restriction: Course Student Attribute Restricted to Bridge MSCS Program; Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 562 - Foundations of AI


    Unit(s): 4

    This course provides students with an introduction to the foundational ideas and approaches to artificial intelligence, including search, knowledge representation and learning, along with contextual knowledge about ethics and social impact.


    College of Arts and Sciences
  
  • CS 601 - Principles SW Development


    Unit(s): 4

    A study of software development. Software engineering principles and structured methods are discussed as a prelude to the focus on object-oriented approaches. All phases of the software lifecycle are covered, including analysis, design, implementation and testing, and maintenance. Other topics include user interface design and development, software reuse and the design of reusable software components, software patterns, and web-based client-server programming. Four hours lecture. Offered every Fall.


    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 603 - Algorithms


    Unit(s): 4

    This course covers algorithm analysis and asymptotic running time estimates; expected running times and amortized analysis; design techniques, including divide and conquer, greedy, and dynamic programming; algorithms for searching and sorting, graphs, and advanced topics.


    College of Arts and Sciences
  
  • CS 620 - Network Design


    Unit(s): 4

    Overview of local and wide-area computer networks and contemporary lower-layer network protocols. Topics to be chosen from: switched networks, broadcast networks, multiplexing, layered protocol models, physical aspects of data transmission, data-link protocols, network modeling, performance issues, and current research in network design. Term paper or project required.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 621 - Network Programming


    Unit(s): 4

    Network application programming. Upper-layer protocols and their interfaces. Topics to be chosen from: TCP/IP, sockets, remote procedure calls, network management, client/server programming, internet protocols (FTP, SMTP, HTTP, and SNMP), higher-level interoperability (CORBA), performance issues, and security. Project required. Four hours lecture.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate; Field of study restricted to Computer Science, Computer Science Bridge Prog Major
    College of Arts and Sciences
  
  • CS 625 - Parallel & Distributed Comp


    Unit(s): 4

    Introduction to shared- and distributed-memory architectures. Mechanisms for parallelism: locks, barriers, semaphores, monitors, message-passing, RPC, and active messages. Programming shared- and distributed-memory systems. Introduction to parallel algorithms and parallel performance prediction and measurement. Programming languages and libraries that support parallel and distributed computing. Four hours lecture.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 631 - Systems Foundations


    Unit(s): 4

    Study of the foundations of computer systems and the hardware/software interface. Topics span the design, implementation, and programming of processor architectures, networks, and operating systems. Computer architecture topics include instruction set design, cache design, hardware virtual memory, and virtualization. Network topics include network interfaces, protocol design, and network programming. Operating system topics include kernel design, the system call interface, resource management, software virtual memory, and file systems. Programming projects required. Four hour lecture.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 635 - Adv Systems Programming


    Unit(s): 4

    This course focuses on advanced hardware and software topics in systems programming, such as device-driver design, interprocess communication, and kernel-module programming in the Linux environment. Four hours lecture.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 636 - Operating Systems


    Unit(s): 4

    Study of the design and implementation of modern operating systems. Topics chosen from: operating system structure, scheduling, protection, virtual memory, communication mechanisms, concurrency, threads, multiprocessor support, distributed systems, performance evaluation, and current operating systems research. Project required. Four hours lecture.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 640 - Bioinformatics


    Unit(s): 4

    Bioinformatics, one of the fastest growing application areas in science, is the realm where computer science meets molecular biology. This course will build on students’ expertise in either computer science or natural sciences and prepare them to enter bioinformatics in either research or industry. Students will be brought up to speed in the content area which is unfamiliar to them. Students will be introduced to genomics, proteomics and software tools of the trade such as Pymol and Blast. They will learn bioinformatics algorithms such as dynamic programming, hidden markov models and monte carlo.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 642 - Bioinformatics Research


    Unit(s): 4

    Bioinformatics, one of the fastest growing application areas of computer science and biology, is research oriented. Computer scientists provide their expertise in computation, algorithms and software design to biologists and chemists. Together they solve problems in biotechnology and create tools for scientific investigation. This course provides students with real-world experience in the design and development of a significant bioinformatics project. Our projects will be either research that may lead to publication, or creation of software tools for use by the scientific community, in partnership with industry.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 648 - Blockchain


    Unit(s): 4

    Blockchain is a distributed data structure with special properties, such as tamper-resistance, which has gained interest worldwide as a backbone of cryptocurrency. This course covers public-key cryptography, one-way hash functions, Merkle tree, proof-of-work, proof-of-stake, Byzantine-fault tolerance and consensus algorithms, so that you can understand the mechanisms of blockchain.


    College of Arts and Sciences
  
  • CS 652 - Programming Languages


    Unit(s): 4

    Study of the design and implementation of software development languages. Topics chosen from: syntax, semantics, translation, run-time systems, advanced programming techniques, and debugging. Language families to be chosen include: functional, logic, visual, formal specification, design, pattern, database, and concurrent. Project required. Four hours lecture.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 662 - Artificial Intelligence Prog


    Unit(s): 4

    Use of artificial intelligence techniques to solve large scale problems. Search strategies, knowledge representation, and other topics chosen from: simulated annealing, constraint satisfaction, logical and probabilistic reasoning, machine learning, expert systems, natural language processing, neural networks, genetic algorithms, and fuzzy logic. Both theoretical foundations and practical applications will be covered. Coursework includes written assignments and programming projects. Four hours lecture.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 663 - Machine Learning


    Unit(s): 4

    A broad introduction to machine learning and pattern recognition. Topics include regression, classification, clustering and dimensionality reduction. Students complete a large project or application with a machine learning component.


    Prerequisite: CS 673 with a minimum grade of B and CS 601 with a minimum grade of B
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 675 - Theory of Computation


    Unit(s): 4

    Topics to be chosen from: models of computation and formal languages, computability and complexity, P and NP completeness and P = NP, advanced computing models. Four hours lecture.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 676 - Data Processing in Cloud


    Unit(s): 4

    This course introduces students to data processing and Cloud tools and services. Topics include MapReduce Framework, Apache Beam Java SDK, Dataflow, BigQuery (SQL &JavaScript User-defined Functions), and optimization techniques (data representation, message definitions, and design choices in data processing pipelines).


    College of Arts and Sciences
  
  • CS 677 - Big Data


    Unit(s): 4

    This course examines the algorithmic and systems challenges associated with big data. Topics include storage frameworks (key-value, in-memory, wide-column), scalable computing paradigms (MapReduce, Spark, stream processing), and analysis techniques (sentiment analysis, predictive modeling).


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 680 - Web Systems and Algorithms


    Unit(s): 4

    Survey of Internet systems research including the anatomy of the web, search engine architecture and algorithms, information retrieval, crawling, text analysis, personalization and context, collaborative environments, and the semantic web.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 681 - Foundations of Security & Privacy


    Unit(s): 4

    This course explores the foundations of security in privacy, exploring the fundamental principles, formal models, frameworks, and theoretical results that underlie modern-day security and privacy. The emphasis in this course will be on written assignments, projects, and exams.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 682 - Distributed Software Develop


    Unit(s): 4

    Internet application development, including server-side technologies such as scripting languages, template frameworks, web page mining, and distributed computing issues such as peer-to-peer, multi-cast, and distributed agents.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 683 - Computer Security and Privacy


    Unit(s): 4

    Learn the basics of computer security and the details of important network security protocols such as SSL/TLS. Topics include: symmetric key cryptography, public key cryptography, secure hash, wireless security, spam filtering, biometric.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 684 - Human-Computer Interaction


    Unit(s): 4

    The study and development of systems and devices in particular sub-fields of human-computer interaction (HCI). This includes affective computing, brain-computer interfaces, physiological computing, virtual reality, augmented reality, mobile computing, facial expression recognition and/or robotics.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 685 - Wireless Sensor Networks


    Unit(s): 4

    Study of the design and implementation of wireless sensing systems. Topics include communication, coordination, self organization, and energy efficiency. Necessary background material in networking and distributed systems will be covered.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 686 - Special Topics in Computer Science


    Unit(s): 1 to 6

    Topics not covered by other CS curricular offerings. Students may register for this class in more than one semester. Consent of instructor required. Offered intermittently.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 690 - Master’s Project


    Unit(s): 4

    At the discretion of the instructor, the project will be either a sponsored project for a commercial concern or other institution or a research project. In either case, the project will result in the specification, design, and development of a significant software system with full documentation, an oral presentation to the university community, and a written report. Four hours lecture. Offered every semester.


    Prerequisite: CS 601 with a minimum grade of B- and CS 673 with a minimum grade of B-
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 694 - Research Seminar in CS


    Unit(s): 1

    Exploration of research topics in Computer Science. Students will read academic papers, independently learn tools and technologies related to the area, present research findings, lead tutorials on relevant tools, and participate in group discussion.


    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 695 - Practicum Study


    Unit(s): 2

    Participation in a supervised work program where students apply USF coursework knowledge in a practical setting. Work is supervised by a USF faculty member and a corporate sponsor.


    Prerequisite: CS 652 with a minimum grade of C
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences
  
  • CS 698 - Directed Reading and Research


    Unit(s): 1 to 4

    Approval of Graduate Advisor and good academic standing required.


    Prerequisite: CS 652 with a minimum grade of C
    Restriction: Level Restricted to Graduate
    College of Arts and Sciences

Counseling Psychology

  
  • CPSY 600 - Foundations of School Counseling


    Unit(s): 3

    This course is designed to provide an orientation to the profession of school counseling and provide the foundational preparation necessary for school counselors to effectively plan, implement, and evaluate comprehensive school counseling programs. Participants in this course will begin the process of developing a professional school counseling identity through the exploration of personal, professional and contextual frameworks of school counselors at the elementary, middle and high school levels. Several competencies will be reviewed including collaborative consultation, curricular planning, student advocacy, and program design. Participation in this course provides opportunities to learn leadership and management skills necessary to develop and strengthen K-12 School counseling programs by utilizing school-community teams and school-based consultation and collaboration models.


    Restriction: Field of study restricted to Counseling Psychology Major
    School of Education
  
  • CPSY 602 - PPS Internship I


    Unit(s): 2

    Corequisite: Paid School Counseling position (part-time or full-time) in a K-12 public school. 150 hours in applying skills from the program’s courses of instruction within a school as a paid counselor. Working with students individually, in a group or in a family context. Providing academic advising, logistical duties, consulting, counseling projects, and personal counseling of students. Includes counseling students of a culture different from the credential candidate’s. Supervision from an approved Mentor Counselor and from a university faculty member.


    Restriction: College restricted to School of Education; Level Restricted to Graduate; Field of study restricted to Counseling Psychology Major
    School of Education
  
  • CPSY 603 - PPS Internship II


    Unit(s): 2

    Corequisite: Paid School Counseling position (part-time or full-time) in a K-12 public school. 150 hours in applying skills from the program’s courses of instruction within a school as a paid counselor. Working with students individually, in a group or in a family context. Providing academic advising, logistical duties, consulting, counseling projects, and personal counseling of students. Includes counseling students of a culture different from the credential candidate’s. Supervision from an approved Mentor Counselor and from a university faculty member.


    Restriction: College restricted to School of Education; Level Restricted to Graduate; Field of study restricted to Counseling Psychology Major
    School of Education
  
  • CPSY 604 - PPS Internship III


    Unit(s): 2

    Corequisite: Paid School Counseling position (part-time or full-time) in a K-12 public school. 150 hours in applying skills from the program’s courses of instruction within a school as a paid counselor. Working with students individually, in a group or in a family context. Providing academic advising, logistical duties, consulting, counseling projects, and personal counseling of students. Includes counseling students of a culture different from the credential candidate’s. Supervision from an approved Mentor Counselor and from a university faculty member.


    Restriction: College restricted to School of Education; Level Restricted to Graduate; Field of study restricted to Counseling Psychology Major
    School of Education
  
  • CPSY 605 - PPS Internship IV


    Unit(s): 2

    Corequisite: Paid School Counseling position (part-time or full-time) in a K-12 public school. 150 hours in applying skills from the program’s courses of instruction within a school as a paid counselor. Working with students individually, in a group or in a family context. Providing academic advising, logistical duties, consulting, counseling projects, and personal counseling of students. Includes counseling students of a culture different from the credential candidate’s. Supervision from an approved Mentor Counselor and from a university faculty member.


    Restriction: College restricted to School of Education; Level Restricted to Graduate; Field of study restricted to Counseling Psychology Major
    School of Education
  
  • CPSY 606 - Cross Cultural Counsel


    Unit(s): 3

    This course features an understanding of multicultural issues in counseling with diverse ethnic groups, cultures, and social classes in American society. Emphasis is on developing cultural sensitivity to one’s own cultural value system and the values and attitudes of diverse groups in cross-cultural counseling settings; increasing awareness of the effects that culture, race, ethnicity, class, gender, and sexual orientation have on human development and the counseling process; and on learning effective counseling strategies and generic counseling methods that accommodate a diversity of cultures.


    Restriction: College restricted to School of Education; Level Restricted to Graduate; Field of study restricted to Counseling Psychology Major
    School of Education
 

Page: 1 <- 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15Forward 10 -> 41