Networking, HTTP, Software Engineering, Testing, and Version Control Concepts for CS Students

0.0(0)
studied byStudied by 1 person
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/30

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

31 Terms

1
New cards

Server-Client Model

Communication between client (browser) and server (web server); typically request-response loop.

2
New cards

IP Protocol

Responsible for addressing, routing, and delivering packets across networks.

3
New cards

Application Layer Protocol

Protocols used by applications, e.g., HTTP, FTP, DNS.

4
New cards

Top Level Domain (TLD)

The most general level of a domain name.

5
New cards

Second/Third Level Domain

More specific hierarchy in domain names.

6
New cards

Recursive DNS Server

Works like 'yellow pages' to find IP addresses from domain names.

7
New cards

URL Fragment

#fragment allows navigation to a specific section of a webpage.

8
New cards

Connectionless

Client disconnects after each request.

9
New cards

Stateless

Each request is independent; server does not store state between requests.

10
New cards

GET Request

Retrieves resource content.

11
New cards

HEAD Request

Retrieves headers only, without content.

12
New cards

Project Attributes

Temporary, requires resources, unique purpose.

13
New cards

Uncertainty in Projects

Highest at project start, decreases over time.

14
New cards

Waterfall Model

Best when technology is well-understood and project is short.

15
New cards

Logic Errors

Incorrect reasoning that produces wrong results; not detected by compiler.

16
New cards

Run-Time Errors

Can be caused by logic errors.

17
New cards

Unit Testing

Tests individual functions/classes/modules.

18
New cards

Integration Testing

Tests interactions/interfaces between modules. Incremental integration possible.

19
New cards

System Testing

Tests full system; includes functional and non-functional requirements (performance, reliability).

20
New cards

Acceptance Testing

Alpha/beta testing by users for approval.

21
New cards

Black-Box Testing

Tests functionality without internal code knowledge; focuses on input/output.

22
New cards

White-Box Testing

Tests internal logic, every line of code, structure, and paths.

23
New cards

Version Control

Managing multiple versions of code/documents.

24
New cards

Centralized Systems

CVS, Subversion; single main repository.

25
New cards

Distributed Systems

Git, Mercurial; every repository is full.

26
New cards

Git Advantages

Efficient, industry standard, supports collaboration, allows 'time machine' functionality.

27
New cards

Typical Git Workflow

1. git pull → update local repo from remote 2. Edit files 3. git add → stage changes 4. git commit -m 'message' → commit changes locally 5. git push → send changes to remote repository.

28
New cards

Requirement Analysis

Understand what users and stakeholders need.

29
New cards

Functional Design

Decide what functions/features the system must have.

30
New cards

High-Level Design

Break system into modules or components.

31
New cards

Detailed Design

Define code architecture, skeleton, and documentation.