placeholder image
  • Contact Info
Publications in VIVO
 

Knox, David Allen

Associate Teaching Professor

Positions

Publications

Teaching

courses taught

  • CSCI 2400 - Computer Systems
    Primary Instructor - Fall 2020
    Covers how programs are represented and executed by modern computers, including low-level machine representations of programs and data, an understanding of how computer components and the memory hierarchy influence performance. Same as CSPB 2400.
  • CSCI 3753 - Design and Analysis of Operating Systems
    Primary Instructor - Spring 2018 / Summer 2018 / Fall 2018
    Analyzes the software that extends hardware to provide a computing environment, including the role of linkers, file systems, resource sharing, security and networking. Studies the history of operating system organization and design and their influence on security, functionality and reliability. Same as CSPB 3753.
  • CSPB 1300 - Computer Science 1: Starting Computing
    Primary Instructor - Fall 2021 / Fall 2022
    Teaches techniques for writing computer programs in higher level programming languages to solve problems of interest in a range of application domains. Appropriate for students with little to no experience in computing or programming. Degree credit not granted for this course and CSCI 1310 and CSCI 1320 and ECEN 1310. Same as CSCI 1300.
  • CSPB 2270 - Computer Science 2: Data Structures
    Primary Instructor - Spring 2022 / Spring 2023
    Studies data abstractions (e.g., stacks, queues, lists, trees, graphs, heaps, hash tables, priority queues) and their representation techniques (e.g., linking, arrays). Introduces concepts used in algorithm design and analysis including criteria for selecting data structures to fit their applications. Knowledge OF C++ is highly recommended. Degree credit not granted for this course and CSCI 2275. Same as CSCI 2270.
  • CSPB 3112 - Professional Development in Computer Science
    Primary Instructor - Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024
    Supports students in developing professional skills and practices in computing, including: preparing for technical and behavioral interviews, professional networking, mastering new technologies not addressed in the curriculum, presenting work, the role of graduate study, and exploring career and research directions.
  • CSPB 3287 - Design and Analysis of Database Systems
    Primary Instructor - Spring 2021 / Spring 2022 / Summer 2022 / Spring 2023 / Fall 2023
    Introduces the fundamental concepts of database requirements analysis, database design, and database implementation with emphasis on the relational model and the SQL programming language. Introduces the concepts of Big Data and NoSQL systems. Same as CSCI 3287.
  • CSPB 3308 - Software Development Methods and Tools
    Primary Instructor - Fall 2020 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Fall 2023 / Spring 2024 / Fall 2024
    Covers tools and techniques for successful software development with a strong focus on best practices used in industry. Students work in small teams to complete a semester-long application development project. Students learn front-end design and construction using HTML & CSS, back-end database design and construction, and full-stack integration. Students gain exposure to agile methodologies, web services, distributed version control, requirements definition, automated integration testing, and cloud-based application deployment. Same as CSCI 3308.
  • CSPB 3753 - Design and Analysis of Operating Systems
    Primary Instructor - Spring 2020 / Fall 2022 / Spring 2024 / Fall 2024
    Analyzes the software that extends hardware to provide a computing environment, including the role of linkers, file systems, resource sharing, security and networking. Studies the history of operating system organization and design and their influence on security, functionality and reliability. Same as CSCI 3753.

Background

International Activities