College Programming Flashcards: Year 3
Computer Science

College Programming Flashcards: Year 3

25

Terms

0

Plays

0

Favorites
Shares
Description

This study set contains 25 flashcards covering key concepts in third-year college-level programming.

Top Scores
Show Less
ghost_fill
No players yet
Be the first one to play!
Cards
Show Less
Software Design Patterns

Definition and purpose of design patterns (e.g., Singleton, Factory, Observer)

Singleton Pattern

Implementation and use cases. Advantages and disadvantages

Factory Pattern

Implementation and use cases. Advantages and disadvantages

Observer Pattern

Implementation and use cases. Advantages and disadvantages

MVC Architecture

Model-View-Controller architecture: components and interactions

RESTful APIs

Principles of RESTful API design (Representational State Transfer)

HTTP Methods

GET, POST, PUT, DELETE – their uses and semantics

JSON

JavaScript Object Notation – structure and parsing

XML

Extensible Markup Language – structure and parsing

Databases SQL

Basic SQL commands (SELECT, INSERT, UPDATE, DELETE)

Database Normalization

First, second, and third normal forms

Database Relationships

One-to-one, one-to-many, many-to-many relationships

Version Control Git

Basic Git commands (clone, add, commit, push, pull)

Git Branching

Creating, merging, and deleting branches

Agile Methodologies

Scrum and Kanban – principles and practices

Software Testing

Unit testing, integration testing, system testing

Test-Driven Development TDD

Principles and process

Debugging Techniques

Strategies for identifying and resolving software bugs

Data Structures

Linked lists, stacks, queues, trees, graphs

Algorithm Analysis

Big O notation (time and space complexity)

Recursion

Definition and examples of recursive algorithms

Concurrency and Parallelism

Differences and challenges

Threads and Processes

Differences and interactions

Software Security

Common vulnerabilities (SQL injection, cross-site scripting)

Software Deployment

Different deployment strategies (e.g., continuous integration/continuous deployment)