Academic Catalog 2022-2023 
    
    May 09, 2024  
Academic Catalog 2022-2023 [ARCHIVED CATALOG]

Course Listing


Courses listed below are grouped together alphabetically by subject prefix. To search for a specific course, please follow the instructions in the course filter box below and click on “Filter.”

Departments and interdisciplinary programs are described in detail on the Majors, Minors, and Other Programs  page within this catalog. Please refer to the detailed sections on each area of study for more information. Requirements to fulfill a major or minor appear within each program or area of study.

All students must also complete the courses in the Common Curriculum (General Education), including Writing Across the Curriculum (WAC) requirements and other requirements that pertain to the undergraduate degree. Courses are numbered as follows.

000-049 - Non-credit courses.

050-099 - Common Curriculum (General Education) courses and others that do NOT count toward the major.

100-199 - Introductory-level courses which count for the major.

200-299 - Sophomore/junior-level courses that can be taken by non-majors. (Some departments may use 200-249 and 250-259 to delineate between sophomore and junior level offerings.)

300-399 - Upper-level courses intended primarily for majors - these are courses representing the depth component of the major.

400-499 - All advanced courses for seniors, including those used to fulfill WS (Senior Writing Experience requirement), small seminars, research, thesis, and independent studies.

Wherever possible, the departments have indicated the instructor and the term during which a course is given. Some courses are offered only occasionally and are so indicated. The College retains the right not to offer a course, especially if enrollment is insufficient.

A few courses are not valued at full course credit, and some carry double credit.

A full course unit may be equated to five quarter-credit hours, or three and one-third semester credit hours.

 

Computer Science

  
  • CSC 033 - Programming Practicum: Introduction to R

    Course Units: 0.0
    (Winter: Striegnitz) An introduction to the programming language R and how it can be used for statistical analysis and visualization of data. Students will learn how to write basic R programs that can read, write, and manipulate data. They will make use of R functions for executing common statistical analysis and learn how to display the results using graphs and charts. Through a series of projects, students will get experience with writing their own functions, learn how to make use of R documentation and how to extend their own knowledge of the language. A student can receive a pass/fail credit equivalent to one elective course, if they receive a passing grade in this course as well as in two terms (normally in a row) of the CS practicum course (CSC 281, 282).
  
  • CSC 055 - Working with the Web

    Course Units: 1.0
    (Not Offered this Academic Year) Design, writing, and publishing of WWW pages; creation of graphical images; study of the underlying Web technologies such as communication protocols, digital encoding and compression; programming of Web pages. CC: SET
  
  • CSC 080 - History of Computing

    Course Units: 1.0
    (Not Offered this Academic Year) A survey of tools for computation, from number systems and the abacus to contemporary digital computers. The course focuses on the development of modern electronic computers from ENIAC to the present. Study of hardware, software, and the societal effects of computing. Cross-Listed: HST 292   CC: SET
  
  • CSC 084 - Interactive Fiction Workshop

    Course Units: 1
    Interactive fiction is storytelling that uses technology to create an interactive “reading” experience, requiring the reader to make choices that influence the plot.  In this course you are going to read, critique, and create interactive fiction.  You’ll develop your storytelling skills, and along the way you’ll learn some programming concepts, and history of narrative. video games.  We’ll also consider how race, gender, class, sexuality, and (dis)ability shape our experiences of these games as players and writers.  No previous CS experience is necessary.  Students will need access to a laptop for class.  (Also count toward GSW, STS.) Cross-Listed: EGL 284    Prerequisite(s): Take any EGL-100 level or higher or ATH 104  , or a score of 5 on English Composition or Literature AP test. CC: SET, HUL, HUM, WAC, JCAD, JETS, JLIT
  
  • CSC 088 - Cyborgs!

    Course Units: 1
    Cybernetic organisms, or “cyborgs,” represent the ultimate integration of biology and technology since these are organisms living with abiotic parts. This exciting new interdisciplinary course will provide an introduction to the biological and computer science concepts fundamental to the development of cyborg technology as well as critical evaluation of the consequences of introducing such technology in society. Students taking this course will not just be trained how to develop cyborg technology, but whether or not such technology should be developed for society. Cross-Listed: BIO-088 CC: HUL, HUM, SCLB, SET, GDQR, GETS, GLIT, GNPS
  
  • CSC 103 - Taming Big Data: Introduction to Computer Science

    Course Units: 1.0
    (Fall: Orhan; Winter: Orhan, Striegnitz; Spring: Webb) Introduction to the field of computer science with the theme of natural and social science applications. Introduces students to algorithms, basic data structures, and programming techniques. Includes development of programs and use of existing applications and tools for computational applications including simulation, data analysis, visualization, and other computational experiments. Prereq/Corequisite(s): A grade of C- or better is required in order to take any course that requires an introductory course as prerequisite. Once one has passed an introductory course with a C- or better, no other introductory course may be taken for credit. CC: QMR, SET, JDQR, JETS ISP: STS
  
  • CSC 104 - Robots Rule! Introduction to Computer Science

    Course Units: 1.0
    (Not Offered this Academic Year) Introduction to the field of computer science with a robotics theme. Introduces students to algorithms, basic data structures, and programming techniques. Students will build and program robots, exploring mobility, navigation, sensing, and inter-robot communication. Additional class topics include: history of robotics, social and ethical issues, emotionally intelligent behavior and other current topics in robotics. Prereq/Corequisite(s): A grade of C- or better is required in order to take any course that requires an introductory course as prerequisite. Once one has passed an introductory course with a C- or better, no other introductory course may be taken for credit. CC: QMR, SET
  
  • CSC 105 - Game Development: Introduction to Computer Science

    Course Units: 1.0
    (Fall: Fernanades, Talkad Sukumar; Winter: Talkad Sukumar) Introduction to the field of computer science with a computer games theme. Introduces students to algorithms, basic data structures, and programming techniques. Computer game development is used as an example application area and students implement their own games throughout the course. Prereq/Corequisite(s): A grade of C- or better is required in order to take any course that requires an introductory course as prerequisite. Once one has passed an introductory course with a C- or better, no other introductory course may be taken for credit. CC: QMR, SET, JDQR, JETS ISP: STS
  
  • CSC 106 - Can Computers Think? Introduction to Computer Science

    Course Units: 1.0
    (Spring: Rieffel, Talkad Sukumar) Introduction to the field of computer science with an artificial intelligence theme. Introduces algorithms, basic data structures, programming techniques, and basic methods from artificial intelligence. Includes discussion of questions in the philosophy of artificial intelligence. Prereq/Corequisite(s): A grade of C- or better is required in order to take any course that requires an introductory course as prerequisite. Once one has passed an introductory course with a C- or better, no other introductory course may be taken for credit. CC: SET, QMR, JDQR, JETS ISP: STS
  
  • CSC 107 - Creative Computing: Introduction to Computer Science

    Course Units: 1.0
    (Winter: Webb) Introduction to the field of computer science with a media computation theme. Introduces students to algorithms, basic data structures, and programming techniques. Media computation is used as an application area, focusing on image manipulation, sound splicing, animations, HTML generation and automated reading of web pages. Prereq/Corequisite(s):  A grade of C- or better is required in order to take any course that requires an introductory course as prerequisite. Once one has passed an introductory course with a C- or better, no other introductory course may be taken for credit. CC: QMR, SET, JDQR, JETS ISP: STS
  
  • CSC 108 - Scientific Computing: Introduction to Computer Science

    Course Units: 1.0
    (Fall: Webb) Computers are used as tools in analyzing and solving scientific problems as well as being embedded in many applications and experimental equipment used by today’s scientists. This course is designed to introduce students to computer programming and problem solving through the use of Python. Python is a language commonly used by the scientific community, and we will focus on using it to address scientific problems, using extensions that facilitate scientific computing. CC: QMR, SET Note:  A grade of C- or better is required in order to take any course that requires an introductory course as prerequisite. Once one has passed an introductory course with a C- or better, no other introductory course may be taken for credit. CC: SET, QMR, JDQR, JETS
  
  
  • CSC 118 - Introduction to Computer and Logic Design

    Course Units: 1.0
    (TBD: Staff) Fundamental material in the area of digital logic circuit analysis and synthesis, and computer organization. The components of digital computers are studied at the gate level, the function level, and the machine organization level. Weekly laboratory exercises are required. Cross-Listed: ECE 118    Corequisite(s): CSC 118L CC: SET Note: This course does not count as an Introduction to Computer Science the way CSC 103  , CSC 104   , CSC 105   , CSC 106   , CSC 107   and CSC 108   do.
  
  • CSC 120 - Programming on Purpose

    Course Units: 1.0
    (Fall: Cass; Winter: Fernandes; Spring: Cass) An introduction to software design principles aimed at making software more efficient, robust, readable, maintainable, and reusable. An introduction to object-oriented programming and design, including classes, objects, methods, and sub-typing. Prerequisite(s): C- or better in one course from CSC 103  , CSC 104  , CSC 105  , CSC 106  , CSC 107  or CSC 108  . A grade of C- or better is required to continue with any course that requires CSC 120 as a prerequisite. CC: SET
  
  • CSC 151 - Data Structures

    Course Units: 1.0
    (Winter: Orhan; Spring: Fernandes) Basic concepts of data organization and abstraction, software design, stacks, queues, trees, and their implementation with linked structures. Programming in Java. Prerequisite(s): MTH 197  and a C- or higher in CSC 120  . MTH 199  can be substituted for MTH 197   Prereq/Corequisite(s): A grade of C- or better is required in order to continue with any course that requires CSC 151 as a prerequisite.
  
  • CSC 206 - Text Analytics

    Course Units: 1.0
    (Not Offered this Academic Year) This course introduces computational techniques for extracting information from unstructured text. This includes reading in different types of text, preparing text for further processing, summarizing and visualizing basic descriptive statistics, as well as applications, such as sentiment analysis, information retrieval, information extraction, summarization, and topic modeling. Prerequisite(s): C- or higher in one course from CSC 103  , CSC 104  , CSC 105  , CSC 106  , CSC 107  , CSC 108   CC: SET
  
  • CSC 218 - Embedded Mirocontroller Projects

    Course Units: 1.0
    (TBD: Staff) CC: SET
  
  • CSC 233 - Intro to Data Analytics

    Course Units: 1.0


    Data analytics, the process of analyzing, revealing, interpreting, and visualizing information concealed inside big data, is revolutionizing daily life, as used by companies such as Amazon, Google and Facebook, for the diagnosis of medical conditions or the way medical claims are handled, for investment strategies and real estate pricing, and in academia, with the analysis of historical texts, understanding the deliberations of the Supreme Court or the European Commission, or processing large amounts of genomics data.

    In this class, students will be introduced to techniques to acquire data from the web, manipulate and pre-process data into manageable forms, perform analyses from a description and predictive standpoint, and learn the basics of visualizing the results, all with a focus on story telling through data, enhancing data literacy. Prerequisite(s): C- or higher in one course from CSC 103   , CSC 104    , CSC 105    , CSC 106    , CSC 107   , CSC 108  . CC: SET

  
  • CSC 234 - Data Visualization

    Course Units: 1.0
    (Not Offered this Academic Year) Data has a story which has to be told! Data visualization is all around us, in print and in electronic media. Some of it is accurate and effective, while some is extremely unclear, confusing, or misleading. In this course we will study various approaches to information visualization and associated data analysis techniques. How do we take a lot of data, or very complex data, and present it in ways that allow it to communicate information clearly and effectively? The course will explore applications from science, medicine, social science, and humanities. Prerequisite(s): C- or higher in one course from CSC 103  , CSC 104   , CSC 105   , CSC 106   , CSC 107  , CSC 108  . CC: SET
  
  • CSC 235 - Modeling & Simulation

    Course Units: 1.0
    (Not Offered this Academic Year) This course will study modeling and simulation as they occur in and apply to a number of different disciplines. It will cover system dynamics models which address major systems that change with time, and cellular automaton simulations that look more narrowly at individuals affecting individuals. Other topics will include rate of change, errors, simulation techniques, empirical modeling, and an introduction to high performance computing. Prerequisite(s): C- or higher in one course from CSC 103  , CSC 104  , CSC 105  , CSC 106  , CSC 107  , CSC 108   CC: SET
  
  • CSC 236 - Computer Network Protocols

    Course Units: 1.0
    (TBD: Staff) Design, analysis, and operation of communication protocols for computer networks; TCP/IP, addressing, switching, routing, congestion control, application protocols. Cross-Listed: ECE 336   
  
  • CSC 237 - Data Communications and Networks

    Course Units: 1.0
    (TBD: Staff) Cross-Listed: ECE 337  
  
  • CSC 240 - Web Programming

    Course Units: 1.0
    (Not Offered this Academic Year) This course addresses the standards in programming applications for the Web. It covers the client-side technologies HTML, CSS, and JavaScript as well as server-side technologies PHP and MySQL. Prerequisite(s): C- or higher in one course from CSC 103  , CSC 104  , CSC 105  , CSC 106  , CSC 107  , CSC 108   CC: SET
  
  • CSC 243 - Bioinformatics: Information Technology in the Life Sciences

    Course Units: 1.0
    (Spring: Fernandes, Horton) Biology and computer science students will gain a working knowledge of the basic principles of the others’ discipline, and will collaborate together on bioinformatics projects. Topics include pairwise and multiple sequence alignments, phylogenetic trees, gene expression analysis, and protein structure prediction. Additional topics will be presented by invited speakers. Cross-Listed: BIO 243    Prerequisite(s): BIO-205 or C- or higher in one course from CSC 103   , CSC 104   , CSC 105   , CSC 106   , CSC 107  ,or  CSC 108   . CC: SET
  
  • CSC 245 - The Computer Science of Computer Games

    Course Units: 1.0
    (Not Offered this Academic Year) This course surveys the field of computer science from the perspective of computer games. Topics explored include: rendering of graphics to a screen, implementation of realistic simulation, use of artificial intelligence in games, handling user input, game physics, collaborative development. Final course project is a complete computer game. Prerequisite(s): C- or higher in one course from CSC 103   , CSC 104   , CSC 105   , CSC 106   , CSC 107  , CSC 108  . CC: SET
  
  • CSC 250 - Algorithm Design and Analysis

    Course Units: 1.0
    (Spring: Cass, Talkad Sukumar) Fundamental algorithms used in a variety of applications. Includes algorithms on list processing, string processing, geometric algorithms, and graph algorithms. Prerequisite(s): MTH 197   and a C- or higher in CSC 151  . MTH 199 can be substituted for MTH 197. Note: A grade of C- or better is required in order to continue with any course that requires CSC-250 as a prerequisite. CC: WAC
  
  • CSC 260 - Large-Scale Software Development

    Course Units: 1.0
    (Winter: Cass) Strategies for the systematic design, implementation, and testing of large software systems. Design notations, tools, and techniques. Design patterns and implementation idioms. Implementation, debugging, and testing. Includes team and individual software development projects. Prerequisite(s): MTH 197   and a C- or higher in CSC 151  . MTH 199   can be substituted for MTH 197
  
  • CSC 270 - Computer Organization

    Course Units: 1.0
    (Winter: Rieffel) The architecture and operation of the digital computer. CPU design, input/output, computer arithmetic, assembly language. Prerequisite(s): C- or higher in CSC 120   Corequisite(s): CSC 270L Lecture/Lab Hours Includes a laboratory.
  
  • CSC 281 - Computer Science Practicum 1

    Course Units: 0.0
    (Fall, Winter, Spring: Staff) Under the supervision of a CSC faculty member, students may participate in undergraduate research or a design project. To receive pass/fail credit equivalent to one elective course, a student must receive a passing grade in three terms (normally in a row) of the practicum course. Up to two credits may be earned in this way. Prerequisite(s): Permission of the faculty supervisor and the department chair.
  
  • CSC 282 - Computer Science Practicum 2

    Course Units: 0.0
    (Fall, Winter, Spring: Staff) Under the supervision of a CSC faculty member, students may participate in undergraduate research or a design project. To receive pass/fail credit equivalent to one elective course, a student must receive a passing grade in three terms (normally in a row) of the practicum course. Up to two credits may be earned in this way. Prerequisite(s): Permission of the faculty supervisor and the department chair.
  
  • CSC 283 - Computer Science Practicum 3

    Course Units: 0.0
    (Fall, Winter, Spring: Staff) Under the supervision of a CSC faculty member, students may participate in undergraduate research or a design project. To receive pass/fail credit equivalent to one elective course, a student must receive a passing grade in three terms (normally in a row) of the practicum course. Up to two credits may be earned in this way. Prerequisite(s): Permission of the faculty supervisor and the department chair.
  
  • CSC 290 - Computer Science Independent Study 1

    Course Units: 1.0
    (Fall, Winter, Spring: Staff) Independent work on a CS topic of interest under the supervision of a CS faculty member. This course should be used for work that the supervising faculty member deems equivalent to a 100-level or 200-level course. For higher level course equivalences, use CSC 490  . Prerequisite(s): Permission of the faculty supervisor and the department chair.
  
  • CSC 291 - Computer Science Independent Study 2

    Course Units: 1.0
    (TBD: Staff) Independent work on a CS topic of interest under the supervision of a CS faculty member. This course should be used for work that the supervising faculty member deems equivalent to a 100-level or 200-level course. For higher level course equivalences, use CSC 490  . Prerequisite(s): Permission of the faculty supervisor and the department chair.
  
  • CSC 292 - Computer Science Independent Study 3

    Course Units: 1.0
    (Fall, Winter, Spring: Staff) Independent work on a CS topic of interest under the supervision of a CS faculty member. This course should be used for work that the supervising faculty member deems equivalent to a 100-level or 200-level course. For higher level course equivalences, use CSC 490  . Prerequisite(s): Permission of the faculty supervisor and the department chair.
  
  • CSC 295H - Computer Science Honors Project 1

    Course Units: 0.0
    (Fall, Winter, Spring: Staff)
  
  • CSC 296H - Computer Science Honors Project 2

    Course Units: 1.0
    (Fall, Winter, Spring: Staff)
  
  • CSC 318 - Digital Design

    Course Units: 1.0
    (TBD: Staff) Cross-Listed: ECE 318   Corequisite(s): CSC 318L
  
  • CSC 320 - Artificial Intelligence

    Course Units: 1.0
    (Spring: Rieffel) Fundamental concepts used in creating “intelligent” computer systems; semantic representation, logical deduction, natural language processing, and game playing; expert systems, knowledge-based systems, and elementary robotics. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . Recommended: CSC 250  . MTH 199  can be substituted for MTH 197
  
  • CSC 321 - Data Mining and Machine Learning

    Course Units: 1.0
    (Not Offered this Academic Year) Introduces Data Mining, where previously unknown and potentially useful information is automatically extracted from data sources, using regularities or patterns of implicit information. Such patterns can be used to make predictions over future data, and be used to explain and understand the nature of that data. Machine Learning is one mechanism by which data mining is achieved. It is used to discover and extract information from raw data. This course will cover tools and techniques of machine learning that are used in practical data mining. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197
  
  • CSC 325 - Robotics

    Course Units: 1.0
    (Winter: Webb) The course will cover basic algorithms necessary for motor control. Building on these methods we will discuss higher level navigation for mobile robots, as well as the sensing necessary for localization of the robot in its environment. Finally, we will also examine the challenges of motion planning for jointed robots with many degrees of freedom. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197
  
  • CSC 329 - Neural Networks

    Course Units: 1.0
    (TBD: Staff) Cross-Listed: ECE 329  
  
  • CSC 333 - High Performance Computing

    Course Units: 1.0
    (Not Offered this Academic Year) Synchronization and communication in concurrent programs. Parallel computing with libraries for shared-memory programming and for cluster computing. Introduction to algorithms for parallel scientific computing. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197
  
  • CSC 335 - Operating Systems

    Course Units: 1.0
    (Winter: Fernandes) Selected topics in operating system development including process and thread management, concurrency, memory and file system management, resource allocation, job scheduling, and security. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  and CSC 270  and Junior standing. MTH 199  can be substituted for MTH 197
  
  • CSC 340 - Introduction to Databases

    Course Units: 1.0
    (Not Offered this Academic Year) Introduction to data models and database design. Coverage of network, hierarchical, and relational architectures with emphasis on the latter. Study of relational algebra, entity-relationship modeling, and data normalization. Study of fourth generation query languages including SQL. Introduction to centralized, distributed, federated, and mediated systems. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197
  
  • CSC 350 - Theory of Computing

    Course Units: 1.0
    (Not Offered this Academic Year) A discussion of the fundamental ideas and models underlying computing: properties of formal languages, finite automata, regular expressions, pushdown automata, context-free languages, Turing machines, and undecidability. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197
  
  • CSC 354 - VLSI System Design

    Course Units: 1.0
    (TBD: Staff) Cross-Listed: ECE 354   Corequisite(s): CSC 354L
  
  • CSC 360 - Software Engineering

    Course Units: 1.0
    (TBD: Staff) Strategies for the specification, design, production, testing, and support of computer programs; software development models; programming team structures; documentation; and maintenance. Prerequisite(s): C- or higher in CSC 260  
  
  • CSC 370 - Programming Languages

    Course Units: 1.0
    (Fall: Orhan) An introduction to issues in programming language design and implementation. Major programming language paradigms: functional, logic, and object-oriented, and their use. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  and junior standing. MTH 199  can be substituted for MTH 197
  
  • CSC 375 - Compiler Design

    Course Units: 1.0
    (Spring: Orhan) Principles and practices for the design and implementation of compilers and interpreters. Will cover the stages of the compilation and execution process: lexical analysis; parsing; symbol tables; type systems; scope; semantic analysis; intermediate representations; run-time environments and interpreters; code generation; program analysis and optimization; and garbage collection. Students will construct a full compiler for a simple object-oriented language. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197. Recommended: CSC 260  
  
  • CSC 380 - User Interfaces

    Course Units: 1.0
    (Spring: Talkad Sukumar) Introduction to the field of human-computer interaction (HCI) through the study of user interfaces. Theory and application of what makes an interface usable. Design principles, empirical studies, and statistical analyses will be employed in team-based projects. Students will make extensive use of equipment for recording and analyzing participants in both laboratory and field settings. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197
  
  • CSC 385 - Computer Graphics

    Course Units: 1.0
    (Not Offered this Academic Year) Implementation and use of algorithms for computer graphics. Rendering and representation of 3D objects. Lighting, shading and texture mapping surfaces of 3D objects. Programming interactive graphics applications. Constructing 3D models of real-world objects. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197
  
  • CSC 483 - Selected Topics in Computer Science

    Course Units: 1.0
    Winter topic: Natural Language Processing

    Spring topic: Guided Research in Evolutionary Computing Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197 CC: SET Note: Course can be repeated for credit under different topics.  Consult with department chair for more information.
  
  • CSC 489 - Guided Research in Computer Science

    Course Units: 1.0
    (Winter: Striegnitz) This course is required by, and limited to, seniors who are not completing their WS requirement through the CSC 498-CSC 499 sequence. In this course, students will explore current research in one area of computer science (the choice of topic will vary) by reading, discussing, and critically evaluating scholarly publications and by carrying out their own research on a related topic. Students will gain experience in giving oral presentations and writing conference style papers in computer science. Prerequisite(s): CSC 497    and permission of the instructor. CC: WS
  
  • CSC 490 - Computer Science Independent Study 1

    Course Units: 1.0
    (Fall, Winter, Spring: Staff) This course should be used for work that the supervising faculty member deems equivalent to a 300-level or 400-level course. For lower level course equivalences, use CSC 290   Prerequisite(s): Permission of faculty supervisor and the department chair.
  
  • CSC 491 - Computer Science Independent Study 2

    Course Units: 1.0
    (Fall, Winter, Spring: Staff) This course should be used for work that the supervising faculty member deems equivalent to a 300-level or 400-level course. For lower level course equivalences, use CSC 290   Prerequisite(s): Permission of faculty supervisor and the department chair.
  
  • CSC 492 - Computer Science Independent Study 3

    Course Units: 1.0
    (Fall, Winter, Spring: Staff) This course should be used for work that the supervising faculty member deems equivalent to a 300-level or 400-level course. For lower level course equivalences, use CSC 290   Prerequisite(s): Permission of faculty supervisor and the department chair.
  
  • CSC 497 - Computer Science Capstone Seminar

    Course Units: 0.5
    (Spring: Webb) Development of the skills necessary for independent research: Reading scholarly works, designing experiments and empirically evaluating their results. Development of a comprehensive senior capstone project proposal. Investigation of professional ethics, skills and responsibilities. Prerequisite(s): MTH 197  and a C- or higher in CSC 151  . MTH 199  can be substituted for MTH 197 Note: Normally taken in Spring of the Junior year.
  
  • CSC 498 - Computer Science Capstone Project 1

    Course Units: 0.75
    (Fall, Winter, Spring: Staff) Design, implementation, and evaluation of the capstone project. Prerequisite(s): CSC 497    CC: WS Note: Normally taken during the Senior year.
  
  • CSC 499 - Computer Science Capstone Project 2

    Course Units: 0.75
    (Fall, Winter, Spring: Staff) Design, implementation, and evaluation of the capstone project. Prerequisite(s): CSC 498    CC: WS Note: Normally taken during the Senior year.

Electrical Engineering

  
  • ECE 101 - The Joy of Electronics

    Course Units: 1.0
    (TBD: Staff) Introduction to the tools, skills, and principles of electrical and computer engineering. Emphasis is placed on developing an intuitive understanding while learning quantitative methods to design, test, and analyze electronics. Test and measurement tools include oscilloscopes, multimeters, and function generators. Circuit construction techniques include breadboarding and soldering as well as computer software to simulate circuits. Principles such as power, frequency, and modulation are taught through analog and digital electronics projects. Hands-on projects include an audio amplifier, crystal radio receiver, digital clock, and a microcontroller-operated robotic arm. CC: SET
  
  • ECE 102 - Intro to Audio Electronics

    Course Units: 1
    In this course students will learn about audio electronics by constructing projects such as an audio amplifier, a smart sound generator, and analog and digital filters to remove unwanted noise or interference. In addition to engaging with the engineering design process, students will reflect upon how audio engineering has and continues to impact society through the creation and manipulation of sound. CC: SET, JETS
  
  • ECE 118 - Introduction to Computer and Logic Design

    Course Units: 1.0
    (TBD: Staff) Fundamental material in the area of digital logic circuit analysis and synthesis, and computer organization. The components of digital computers are studied at the gate level, the function level, and the machine organization level. Weekly laboratory exercises are required. Cross-Listed: CSC 118  Corequisite(s): ECE 118L CC: SET
  
  • ECE 218 - Embedded Microcontroller Projects

    Course Units: 1.0
    (TBD: Staff) Focuses on the design and implementation of microcontroller systems. Topics include microcontroller architecture, interfacing, programming for control applications, multitasking, and tools used in embedded system design. The course includes a weekly project-based laboratory. Prerequisite(s): ECE 118  and one course from the following: CSC 103 , CSC 104 , CSC 105 , CSC 106 , CSC 107 , or CSC 108    Corequisite(s): ECE 218L CC: SET
  
  • ECE 222 - Introduction to Circuits and Electronics

    Course Units: 1.0
    (TBD: Staff) Electrical quantities, circuit principles, analysis and response of basic circuits, semiconductor physics, diodes, transistors, and operational amplifiers. Includes a weekly lab. Prerequisite(s): PHY 121  or IMP 121    Corequisite(s): ECE 222L Prereq/Corequisite(s): Not open to Electrical, Computer, or Biomedical Engineering majors, or to students who have taken ECE 225  
  
  • ECE 225 - Electric Circuits

    Course Units: 1.0
    (TBD: Staff) Basic electrical circuit concepts and devices such as Ohm’s law, Kirchhoff’s laws, Thevenin and Norton equivalents, operational amplifiers, analysis methods, capacitors, inductors, ideal transformers, phasors, AC steady state analysis, complex power, frequency response and filters. Includes a weekly lab. Not open to Mechanical Enginerring major Cross-Listed: BME 225    Prerequisite(s): MTH 112  or MTH 113    Corequisite(s): ECE 225L
  
  • ECE 240 - Circuits and Systems

    Course Units: 1.0
    (TBD: Staff) Transient analysis of RLC circuits; modeling of circuits using differential equations; system models and properties; Laplace transforms applied to circuit and system design and analysis; system functions; complex frequency; poles and zeros; stability; frequency response; filter design. Includes a weekly lab. Not open to Mechanical Engineering majors  Cross-Listed: BME 240    Prerequisite(s): ECE 225  or BME 225    Corequisite(s): ECE 240L CC: WAC
  
  • ECE 241 - Discrete Systems

    Course Units: 1.0
    (TBD: Staff) Discrete signals and systems; classification and properties of systems; difference equations; Z-transform; Fourier series, Fourier transforms, the DFT and FFT; filters and filter design; A/D and D/A converters; applications to audio signal processing. Includes a weekly lab. Cross-Listed: BME 241    Prerequisite(s): ECE 240  or BME 240    Corequisite(s): ECE 241L CC: WAC ISP: FLM
  
  • ECE 248 - Introduction to Semiconductor Devices and Circuits

    Course Units: 1.0
    (TBD: Staff) Semiconductors: theory of operation of diodes and transistors; circuit models; basic electronic circuits and amplifiers: transfer characteristics and inverters. Includes a weekly lab.  Prerequisite(s): ECE 225  or BME 225    Corequisite(s): ECE 248L
  
  • ECE 281 - Electrical and Computer Engineering Practicum 1

    Course Units: 0.0
    (TBD: Staff) Under the supervision of an ECE faculty member, students may participate in undergraduate research or a design project. To receive pass/fail credit equivalent to one free elective course, a student must receive a passing grade in three terms of the practicum course. Up to two credits may be earned in this way. Prerequisite(s): Permission of the faculty supervisor and the department chair.
  
  • ECE 282 - Electrical and Computer Engineering Practicum 2

    Course Units: 0.0
    (TBD: Staff) Under the supervision of an ECE faculty member, students may participate in undergraduate research or a design project. To receive pass/fail credit equivalent to one free elective course, a student must receive a passing grade in three terms of the practicum course. Up to two credits may be earned in this way. Prerequisite(s): Permission of the faculty supervisor and the department chair.
  
  • ECE 283 - Electrical and Computer Engineering Practicum 3

    Course Units: 1.0
    (TBD: Staff) Under the supervision of an ECE faculty member, students may participate in undergraduate research or a design project. To receive pass/fail credit equivalent to one free elective course, a student must receive a passing grade in three terms of the practicum course. Up to two credits may be earned in this way.
  
  • ECE 295H - Electrical and Computer Engineering Honors Independent Project 1

    Course Units: 0.0
    (TBD: Staff) Sophomore project in Electrical and Computer Engineering for students participating in a scholars program. Prerequisite(s): Permission of the instructor.
  
  • ECE 296H - Electrical and Computer Engineering Honors Independent Project 2

    Course Units: 1.0
    (TBD: Staff) Sophomore project in Electrical and Computer Engineering for students participating in a scholars program. Prerequisite(s): Permission of the instructor.
  
  • ECE 310 - Electronic Devices

    Course Units: 1.0
    (TBD: Staff) Introduction to semiconductors and solid-state devices. Electrons and holes, energy bands, carrier transport and dynamics, recombination and generation; p-n junctions and diodes; bipolar junction transistors; field-effect transistors; and optoelectronic devices (light-emitting diodes, photodiodes, and solar cells). Prerequisite(s): ECE 248  or premission of the instructor
  
  • ECE 318 - Digital Design

    Course Units: 1.0
    (TBD: Staff) The design of digital hardware systems at the module level using modern approaches. Datapath and control unit design, hardware description languages, programmable device implementations. Weekly laboratory exercises using electronic design automation tools and a design project are required. Cross-Listed: CSC 318  Prerequisite(s): ECE 118  Corequisite(s): ECE 318L
  
  • ECE 325 - Acoustics of Speech Communication

    Course Units: 1.0
    (TBD: Staff) Acoustics, circuit theory, and signal processing applied to analysis of speech signals; Physiology of speech production; Articulatory phonetics; Acoustical and articulatory description of phonetic features and of prosodic aspects of speech; Perception of speech; Models of speech production and planning; Some applications to recognition and generation of speech by machine, and to the study of speech disorders. Prerequisite(s): ECE 241  or BME 241   
  
  • ECE 328 - Fundamental Internet of Things

    Course Units: 1
    This course will explore the fundamental concepts of Internet of Things (IoT) and technologies that enable the connection of various useful electronic devices (things) on the internet. Topics will include IoT evolution, architecture and reference models, sensors and actuators, communication technologies (RFID, NFC, Bluetooth Low Energy, Zigbee, 6LowPAN, LoRa, and NB-IoT), protocols (MQTT and CoAP), and the design of simple IoT applications using hands-on projects. Prerequisite(s): ECE 218   
  
  • ECE 329 - Neural Networks

    Course Units: 1.0
    (TBD: Staff) Topics include the biological basic of artificial neural networks, neuron models and architectures, backpropagation, and deep learning models. Cross-Listed: CSC 329  Prerequisite(s): CSC 151  or CSC 100-level and ECE 240  or permission of the instructor.
  
  • ECE 336 - Computer Network Protocols

    Course Units: 1.0
    (TBD: Staff) Design, analysis, and operation of communication protocols for computer networks; TCP/IP, addressing, switching, routing, congestion control, application protocols. Cross-Listed: CSC 236   Prerequisite(s): CSC 100-level and either ECE 118   / CSC 118  or CSC 120  
  
  • ECE 337 - Data Communications and Networks

    Course Units: 1.0
    (TBD: Staff) An introduction to the physical and data link layers of data communication networks, including error detection, and local area networks. Cross-Listed: CSC 237  Prerequisite(s): CSC 100-level and ECE 118   / CSC 118  or CSC 120  
  
  • ECE 341 - Energy Conversion

    Course Units: 1.0
    (TBD: Staff) Theory of electromechanical energy conversion; characteristics of transformers and DC induction; and synchronous machines. Prerequisite(s): ECE 225  or BME 225  
  
  • ECE 342 - Power Electronics

    Course Units: 1.0
    (TBD: Staff) Rectifying devices and rectifier circuits: device characteristics, waveforms, harmonic content filtering. Controlled rectifiers (thyristors, triacs): device characteristics, single phase and multiphase systems. Snubber circuits and divide limitations. DC-DC converters: design, application, topologies. Energy storage element selection and design: capacitors and inductors. Prerequisite(s): ECE 248 , ECE 350 
  
  • ECE 343 - Introduction to Electromagnetic Engineering

    Course Units: 1.0
    (TBD: Staff) Traveling waves: transmission lines; electrostatics; magnetostatics; applications to engineering problems; solutions by analytical and numerical techniques. Prerequisite(s): ECE 240 , (MTH 117  and PHY 121 ) or IMP 120   Corequisite(s): ECE 343L Lecture/Lab Hours One lab per week.
  
  • ECE 344 - Electric Machines and Drives

    Course Units: 1.0
    (TBD: Staff) Introduction to electric drives; understanding mechanical system requirements; DC motors and variable speed drives; current, speed, and position controllers; induction machine variable speed drives; space vectors; permanent magnet AC and brushless DC motors; efficiency considerations and applications to alternative energy systems. Prerequisite(s): ECE 240 
  
  • ECE 346 - Intro to Power Engineering

    Course Units: 1
    Fundamentals of power engineering; energy sources; transmission lines; power flow; transformers; power electronics and HVDC; distribution systems; synchronous generators; stability; economic dispatch; protection. Prerequisite(s): ECE 225   or ECE 222   
  
  • ECE 347 - Image Processing

    Course Units: 1.0
    (TBD: Staff) The course covers the basic operations performed on digital images. These include digitization, image enhancement and restoration, color image processing, and image compression using the discrete cosine transform and wavelets. Prerequisite(s): ECE 241  or BME 241   
  
  • ECE 350 - Communication Systems

    Course Units: 1.0
    (TBD: Staff) Frequency domain analysis, signal space representations, and their application to wireless communications; quality measures; performance in the presence of noise. Includes a weekly lab. Prerequisite(s): ECE 241  Corequisite(s): ECE 350L
  
  • ECE 351 - Probability and Digital Communications

    Course Units: 1.0
    (TBD: Staff) An introduction to probability with an emphasis on applications in digital communications. Digital signaling, coding, probability of error, matched filters, optimum receiver design, source entropy, channel capacity. Prerequisite(s): ECE 118 , ECE 240 
  
  • ECE 354 - VLSI System Design

    Course Units: 1.0
    (TBD: Staff) Design of very large-scale integrated systems including standard CMOS and more advanced and emerging technologies in nanoelectronics. Design from logic to physical levels and manufacturing processes. System-on-chip technologies and applications. Cross-Listed: CSC 354  Prerequisite(s): ECE 118  and (ECE 225  or BME 225  or ECE 222 ) Corequisite(s): ECE 354L Lecture/Lab Hours Weekly lab
  
  • ECE 363 - Analysis and Design of Electronic Circuits

    Course Units: 1.0
    (TBD: Staff) Multiple-stage amplifiers; Differential amplifiers; Frequency response of amplifiers; Feedback amplifier; Stability of electronic circuits; Analysis and design of operational amplifiers. Prerequisite(s): ECE 248  Corequisite(s): ECE 363L Lecture/Lab Hours Weekly lab
  
  • ECE 366 - Control Systems

    Course Units: 1.0
    (TBD: Staff) Modeling of control systems by block diagrams and flow graphs. Analysis of control systems response, error and stability, Root-Locus method, and frequency domain methods (Nyquist, Bode, and Nichols). Prerequisite(s): ECE 240  Corequisite(s): ECE 366L Lecture/Lab Hours One lab per week.
  
  • ECE 371 - High Resolution Radar

    Course Units: 1.0
    (TBD: Staff) An introduction to the basic theory for design and analysis of radar systems; range equation; signal design and models; signal processing; high resolution imaging; range and Doppler information Prerequisite(s): ECE 241  
  
  • ECE 375 - Chaotic Signals and Systems

    Course Units: 1
  
  • ECE 386 - Introduction to Biomedical Instrumentation

    Course Units: 1.0
    (TBD: Staff) Introduction to the theory and application of instruments in medicine. Measurements of the major systems in the body are covered. A weekly laboratory provides an opportunity to perform measurements and use biomedical instruments. Cross-Listed: BME 386  Prerequisite(s): ECE 240  or BME 240   Corequisite(s): ECE 386L
  
  • ECE 420 - Introduction to State Space Analysis and Control

    Course Units: 1.0
    (TBD: Staff) Formulations of state equations. State space representation of linear systems. Dynamic characteristics of linear systems. Eigenvalues and eigenvectors. Solution of state equations. Controllability and Observability. Pole placement. Linear observers. Prerequisite(s): ECE 366 
  
  • ECE 463 - Fundamentals of Wireless Electronics

    Course Units: 1.0
    (TBD: Staff) Review of phasor analysis; inductance and coupling networks; resonance; complex power and power transfer; transmission line theory and applications; introduction to matching network design. Includes a weekly studio/lab session. Prerequisite(s): ECE 241   Corequisite(s): ECE 463L
  
  • ECE 481 - Special Topics in Electrical and Computer Engineering

    Course Units: 1.0
    (TBD: Staff) Topics chosen from the current literature according to faculty and student interest. Each of these special topics courses has variable content addressing specific current areas of interest to students. They will be offered whenever the need arises.
  
  • ECE 482 - Special Topics in Electrical and Computer Engineering

    Course Units: 1.0
    (TBD: Staff) Topics chosen from the current literature according to faculty and student interest. Each of these special topics courses has variable content addressing specific current areas of interest to students. They will be offered whenever the need arises.
  
  • ECE 483 - Special Topics in Electrical and Computer Engineering

    Course Units: 1.0
    (TBD: Staff) Topics chosen from the current literature according to faculty and student interest. Each of these special topics courses has variable content addressing specific current areas of interest to students. They will be offered whenever the need arises.
  
  • ECE 487 - Medical Imaging Systems

    Course Units: 1.0
    (TBD: Staff) The basic physics, instrumentation, system design, and image reconstruction algorithms are covered for the following imaging modalities: ultrasound, radiography, x-ray computed tomography (CT), magnetic resonance imaging (MRI), planar scintigraphy, and positron emission tomography (PET). Cross-Listed: BME 487  Prerequisite(s): ECE 241 
 

Page: 1 <- 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12Forward 10 -> 19