0% found this document useful (0 votes)
7 views3 pages

University Computer Science Class Notes

The document outlines the curriculum for a Computer Science program, focusing on algorithms, systems, and software design. It details intended learning outcomes, core courses, key concepts, and practical skills, emphasizing the importance of algorithmic thinking and data structures. Additionally, it provides career pathways and suggested resources for further study.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views3 pages

University Computer Science Class Notes

The document outlines the curriculum for a Computer Science program, focusing on algorithms, systems, and software design. It details intended learning outcomes, core courses, key concepts, and practical skills, emphasizing the importance of algorithmic thinking and data structures. Additionally, it provides career pathways and suggested resources for further study.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

University Computer Science Class Notes

Algorithms, Systems, and Software Basics

Prepared: August 16, 2025

Instructor Notes Template

University Scientific Programs

Use these notes for study, course planning, or portfolio review.


Program Overview
Computer Science covers algorithmic thinking, systems, and software design. Programs combine
programming, theory, systems, and applications such as AI and HCI.

Intended Learning Outcomes (ILOs)


• Analyze time/space complexity; choose appropriate data structures.
• Implement algorithms in a high-level language and test effectively.
• Understand OS, networking, databases, and distributed systems basics.
• Explain computability, decidability, and NP-completeness at a high level.
• Practice version control, documentation, and code review.

Typical Core Courses


• Intro to Programming
• Data Structures & Algorithms
• Computer Systems / OS
• Databases
• Theory of Computation
• Software Engineering / Web Development

Key Concepts & Formulas


Concept Brief Explanation / Formula

Big-O Notation O(1), O(log n), O(n), O(n log n), O(n²), O(2^n): asymptotic upper bounds.

Sorting Merge sort (O(n log n)), quicksort (avg O(n log n)), stability vs in-place.

Graphs BFS/DFS, Dijkstra, A*, MST (Kruskal/Prim).

Concurrency Race conditions, locks, deadlocks, Amdahl’s law.

Databases Normalization, ACID, indexing (B+ trees), SQL joins.

Worked Example: Choosing a Data Structure


• Given frequent lookups & occasional inserts: use hash map (avg O(1) lookup).
• Need ordered traversal: use balanced BST (O(log n) ops).
• Need FIFO processing: use queue; LIFO: stack.
• Benchmark alternatives; analyze memory vs speed tradeoffs.
Laboratory/Field Skills
• Build a REST API with authentication.
• Implement a memory allocator or scheduler simulator.
• Design a normalized relational schema and write SQL queries.
• Parallelize a computation using threads or map-reduce.

Career Pathways
• Software engineer, data engineer, ML engineer.
• Product-focused roles (PM with CS background).
• Research labs and startups.

Suggested Resources
• Open Data Structures (free)
• ‘Introduction to Algorithms’ (CLRS)
• MDN Web Docs; PostgreSQL manual
• LeetCode / HackerRank for practice

Academic Integrity Note: These notes are for study use and course planning; always cite sources in formal work.

You might also like