Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hajin-park/ucmerced-cse
UC Merced CSE Monorepo
https://github.com/hajin-park/ucmerced-cse
c cpp mips python ucm ucmerced
Last synced: 6 days ago
JSON representation
UC Merced CSE Monorepo
- Host: GitHub
- URL: https://github.com/hajin-park/ucmerced-cse
- Owner: hajin-park
- License: gpl-3.0
- Created: 2024-01-25T21:37:55.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-04-11T20:38:31.000Z (7 months ago)
- Last Synced: 2024-04-12T00:53:16.921Z (7 months ago)
- Topics: c, cpp, mips, python, ucm, ucmerced
- Language: C++
- Homepage:
- Size: 35.9 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Computer Science and Engineering at University of California, Merced
---
No cheating allowed.Open pull requests or issues to add contributions. Prepend additional
directories/files with `{term}{year}_` i.e. `f23_` == Fall 2024, `sp24_` ==
Spring 2024---
## [CSE 022: Introduction to Programming](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=50100)
Introduces students to programming, computational thinking, and problem solving
concepts, teaching students how to use computers as tools rather than
appliances. In addition to programming skills, students also learn
industry-standard practices, such as version control, unit testing and
debugging. Follows a Project-Based Learning Philosophy, with Python as the main
programming language, but students also get exposure to HTML, CSS, JavaScript,
and SQL.---
## [CSE 024: Advanced Programming](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=50104)
Intended for students with basic to intermediate programming skills, and
introduces them to advanced programming techniques such as pointers and memory
management, exception handling, multi-threading, object oriented programming,
and generic programming. The C++ language is used throughout the course.---
## [CSE 030: Data Structures](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39178)
Focuses on the design, analysis, and implementation of fundamental data
structures, design patterns, and algorithms used throughout computer science,
including linked lists, stacks, queues, trees, hash tables, graphs, recursion,
and methods for searching and sorting.---
## [CSE 031: Computer Organization and Assembly Language](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39179)
Exposes students to the underlying structure of machines. Starting from C
programming, pointers, data representation, MIPS instruction-set, Compilation
process and down to Hardware implementation.---
## [CSE 100: Algorithm Design and Analysis](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39183)
Introduction to the design and analysis of computer algorithms. Topics will
include concepts of algorithm complexity, and various algorithmic design
patterns like divide and conquer, dynamic programming and greedy algorithms.
Also covers major algorithms and data structures for searching and sorting,
graphs and some optimization techniques.---
## [CSE 106: Exploratory Computing](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=48046)
Our ability to manipulate data depends on and is limited by our familiarity with
computing technologies. We study tools for exploratory computing, emphasizing
programming and scripting languages over point-and-click interfaces. We cover
the Unix basics and common utilities, regular expressions, Perl and R languages.
Development of a problem solving ability to learn languages independently and
cull online documentation.---
## [CSE 107: Introduction to Digital Image Processing](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=49398)
Overview of digital image processing including visual perception, image
formation, spatial transformations, image enhancement, color image
representations and processing, edge detection, image segmentation, and
morphological image processing.---
## [CSE 111: Database Systems](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39185)
Principles of database design and operation. Relational data model. High-level
data modeling representations. SQL database language. Active databases with
constraints and triggers. Query optimization with views and indexes. Exploiting
database servers within programming languages for web application development.
Other topics include transaction processing and recovery, user-defined
functions, and data warehousing.---
## [CSE 120: Software Engineering](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39187)
Teams work on approved design projects or on software teams. Through these
projects, students will practice design methodology and learn modern software
engineering techniques to create reliable, efficient, reusable, and maintainable
software systems using various design process models. Good standard project
practices topics will be covered.---
## [CSE 126: Information Systems and Service Design](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=49107)
Presents an end-to-end view of the design life cycle for information systems and
services. Explains how design problems are conceived, researched, analyzed and
resolved in different types of organizations and contexts, including start-ups,
enterprises with legacy-systems, non-profit and government entities.---
## [CSE 135: Introduction to Theory of Computation](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=49312)
Understanding the inherent capabilities and limitations of computers is a
fundamental question in computer science. To answer this question, we will
define formal mathematical models of computation, and study their relationships
with formal languages. Topics will consist of three central areas of the theory
of computation: automata, computability, and complexity.---
## [CSE 140: Computer Architecture](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=48050)
Fundamental concepts of digital computer design, including instruction sets,
memory systems and registers, logic and mathematics units, modern CPUs and their
architectural features are discussed along with the motivation for each design
choice.---
## [CSE 150: Operating Systems](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=48051)
Concepts of computer operating systems including concurrency, memory management,
file systems, multitasking, performance analysis, and security.---
## [CSE 151: Advanced Operating Systems](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=50074)
Introduces the concept of advanced Operating Systems, including distributed
operating system, real-time operating systems, advanced computer networks and
security. Covers both fundamental knowledge and top-flight research topics in
Operating Systems.---
## [CSE 155: Introduction to Human-Computer Interaction](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=41065)
Introduces students to the basic concepts in the theory and practice of
Human-Computer Interaction (HCI). Teaches how hardware and software design
influence the interaction between human and computers to provide insights into
the design and development of safe, effective, and enjoyable interactive
systems.---
## [CSE 160: Computer Networks](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=48052)
Design concepts and implementation features of computer networks. Concepts of
network robustness, scalability, addressing, routing, and security. Several
contemporary networking protocols are analyzed.---
## [CSE 162: Mobile Computing](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=51827)
Introduces mobile cloud computing’s basic concepts, including different types of
mobile computing devices and applications, the communication technologies used
in modern smartphones, the context-aware computing technologies, and programming
on mobile devices.---
## [CSE 165: Introduction to Object Orientated Programming](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39191)
Topics include object-oriented programming concepts, such as classes, objects,
methods, interfaces, packages, inheritance, encapsulation, and polymorphism.---
## [CSE 168: Distributed Software Systems](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=51940)
Covers the foundations of distributed software systems and their practical
designs. Includes concepts and principles of distributed systems (e.g.,
consistency, availability, scalability, etc.); programming models for
distributed computing (e.g., batch/streaming processing, RPC, Key-Value, etc.);
distributed storage systems (e.g., indexing, replication, partition, and erasure
coding, etc.); and convergence of HPC, Big Data, AI, and Cloud Computing with
modern distributed systems.---
## [CSE 170: Computer Graphics](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=48054)
Basic algorithms in computer graphics enabling students to understand and
experience the process of implementing modern computer graphics applications.
Topics covered: programmable shaders, rasterization, hidden surface removal,
transformations, rendering pipeline, scene graphs, curves and surfaces, boundary
representation, spatial partition methods, keyframe animation, texture mapping,
illumination and shading.---
## [CSE 171: Game Programming](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39193)
Covers the main algorithms and techniques used in the implementation of
interactive 3D Graphics, such as in Computer Games, Robotics Simulators and
Virtual Reality. Topics covered are: keyframe animation, articulated figures,
direct and inverse kinematics, physically-based simulation, path planning,
behavior-based animation, scripting behaviors, and other advanced topics.---
## [CSE 173: Computational Cognitive Neuroscience](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=48056)
Design and analysis of computational simulations of human behavior and brain
function. Techniques for modeling active membranes, individual neurons, the
dynamics produced by recurrent excitation and lateral inhibition, synaptic
plasticity, and the computational role of neurotransmitters. Formal models of
perception, attention, learning, memory, language, categorization, and cognitive
control.---
## [CSE 175: Introduction to Artificial Intelligence](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39195)
Overview of the main concepts and methods underlying the construction and
analysis of intelligent systems, including agent architectures, problem solving,
heuristic search, knowledge representation, reasoning, planning, communication,
perception, robotics, and machine learning. Includes a laboratory component in
which intelligent systems are constructed and examined.---
## [CSE 176: Introduction to Machine Learning](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=21&coid=52278)
Survey of techniques for development and analysis of software that learns from
experience. Specific topics: supervised learning (classification, regression);
unsupervised learning (density estimation, clustering, dimensionality
reduction); reinforcement learning; and others. Specific techniques: linear
classifiers, mixture models, nonparametric methods, decision trees, neural
networks, kernel machines, ensembles, graphical models, Bayesian methods, etc.---
## [CSE 177: Database Systems Implementation](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=49108)
Studies the internals of a database management system, with emphasis on query
execution. The final goal of the class is to build a fully-functional database
execution engine consisting of all the standard components: storage manager,
buffer manager, query execution engine, query optimizer, and query compiler.---
## [CSE 178: Computers and Networks Security](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=22&coid=57500)
Introduces fundamental concepts in the design and development of secure computer
networks. Covers security threats, secret-key and public-key cryptography and
algorithms, digital signatures, authentication, Electronic mail, Public-key
infrastructure, viruses and worms.---
## [CSE 179: Introduction to Parallel Computing](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=21&coid=53630)
Parallel computing is pervasive. From embedded devices, laptops, to high-end
supercomputer, and large-scale data centers, parallel computing is widely
employed to achieve performance and efficiency targets. This course introduces
the foundations of parallel computing, including parallel architectures,
parallel programming methods and techniques, and parallel algorithm designs.---
## [CSE 180: Introduction to Robotics](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=20&coid=48059)
Covers the basic of robotics focusing on the algorithmic side, rather than
technology. Introduces basic computational techniques concerning spatial
modeling, planning, and sensor processing. The course has a strong hands-on
component. Implementation of different techniques in simulation will complement
the theoretical lectures.---
## [CSE 185: Introduction to Computer Vision](https://catalog.ucmerced.edu/preview_course_nopop.php?catoid=16&coid=39198)
Overview of fundamental image processing and pattern recognition techniques
including image formation, edge detection, image segmentation, optical flow,
recovery of three-dimensional structure from shading or stereo information,
shape representations, and issues in object recognition.