LSU CSC 4101 Module 01

0.0(0)
Studied by 1 person
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/37

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 7:33 PM on 9/1/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

38 Terms

1
New cards

Programmable Hardware Example

Analytical Engine & Jacquard Loom

2
New cards

Machine Code Example

Binary, Octal, & Hexadecimal

3
New cards

Evolution of Programming Languages

Programmable Hardware → Machine Code → Assembly → Macro Assembly → Fortran

4
New cards

Why so many languages?

rise of for loops, system types, recursive types, personal preferences, pointers, socioeconomic factors such, & commercial advantages

5
New cards

Scientific App Programming Languages

Fortran & TCE

6
New cards

Artificial Intelligence Programming Languages

Lisp

7
New cards

Embedded Systems Programming Languages

C & Ada

8
New cards

Business App Programming Languages

COBOL

9
New cards

Systems Programming Languages

C & C++

10
New cards

Web Service Programming Languages

C#, JS, Java, PHP, Ruby

11
New cards

Machine Learning Programming Languages

Python & R

12
New cards

Scripting Programming Languages

Perl & Python

13
New cards

Special Purpose Programming Languages

Bash & Make

14
New cards

First Object Oriented Languages

Simula → Smalltalk → C++

15
New cards

Factors for a Successful Language

Easy-to-learn, Easy Implementation, Fast Code Generation, Open Libraries, Cheap/Accessible, and Familiary Syntax

16
New cards

Reasons to Study Programming Languages

Learn situational uses, understand obscurities, learn faster, optimize debuggers + tools, simulate features, + design simple languages

17
New cards

Programming Paradigms

Imperative, Functional, Logic, & Object Oriented

18
New cards

Imperative (Programming Paradigm)

To program with assignments + loops

19
New cards

Functional (Programming Paradigm)

To program with first class or high order functions

(can have imperative abilities)

20
New cards

Logic (Programming Paradigm)

To program with predicates

21
New cards

Object Oriented (Programming Paradigm)

To program with classes and objects
(can be imperative or functional but most languages are imperative)

22
New cards

High Order Function

A function that takes functions as parameter and/or returns functions as an output

23
New cards

Predicate

a statement that defines expresses properties & relations among objects

24
New cards

Imperative Languages

Fortran, C, and Pascal

25
New cards

Functional Languages

Lisp, ML, Haskell, F#

26
New cards

Logic Languages

Prolog

27
New cards

Object Oriented Languages

Java, C#, Python, Common Lisp, Ada

28
New cards

Implementation Methods

Compilation & Interpretation

29
New cards

Compilation (Implementation Method)

offers better performance
operates by taking the source program as input and outputs target program. The target program takes input then returns an output.

30
New cards

Interpretation (Implementation Method)

offers flexibility & error diagnostics

operates by taking both the source code and input and returns an output.

31
New cards

Hybrid System

a modern implementation, has translator produce intermediate program

32
New cards

Virtual Machine (Hybrid System)

possess a translator and JIT compiler (ex Java + Javac)

src program → [translator] → intermediate program
(intermediate program + input) → [vm] → outut

33
New cards

Implementation Strategies

Preprocess, Actual Compiler , Multi-Compiler, Assembler

34
New cards

Preprocess (Implementation Strategy)

used by complex systems; processes macro and adds include files

35
New cards

Actual Compiler (Implementation Strategy)

takes preprocessor output as an input then outputs assembly text (not assembly code)

36
New cards

Multi-Compiler (Implementation Strategy)

complies C to C++ then C++ to assembly

37
New cards

Assembly (Implementation Strategy)

generates relocatable machine code fragments, then the machine code is assembled into an executable by the Linker

38
New cards

Linker (Implementation Strategy)

combines machine code into an executable