# Data-Mania

#### 2021-11-09

Assignments: * pushed back to Tuesday, 5pm. * submit as Google Doc, so that we can live update them into website

Midterm grades: * handed out on Thursday * email if you want them

Office hours * Link on course page.

# Languages

The IBM 650, 1953

Three languages:

• Fortran: 1957. Designed to be fast.
• Lisp: 1958. Designed to be pure.
• Cobol: 1959. Common Business-Oriented Language.

Fortran

``````program add

implicit none

integer a,b,sum
sum = a + b
print *,''
print *, ' The sum of ', a,' and ' , b, ' is ' , sum,'.'
print *,''
print *,'End of Program'
end program``````

Lisp

``````
(flet ((prompt (string)
(format t "~&~a: " string)
(finish-output)
(let ((x (prompt "first number"))
(y (prompt "second number"))
)
(format t "~a" (+ x y)))))
``````
Grace Murray Hopper, 1960

COBOL

``````    \$ SET SOURCEFORMAT"FREE"
IDENTIFICATION DIVISION.
PROGRAM-ID.  Iteration-If.
AUTHOR.  Michael Coughlan.

DATA DIVISION.
WORKING-STORAGE SECTION.
01  Num1           PIC 9  VALUE ZEROS.
01  Num2           PIC 9  VALUE ZEROS.
01  Result         PIC 99 VALUE ZEROS.
01  Operator       PIC X  VALUE SPACE.

PROCEDURE DIVISION.
Calculator.
PERFORM 3 TIMES
DISPLAY "Enter First Number      : " WITH NO ADVANCING
ACCEPT Num1
DISPLAY "Enter Second Number     : " WITH NO ADVANCING
ACCEPT Num2
DISPLAY "Enter operator (+ or *) : " WITH NO ADVANCING
ACCEPT Operator
IF Operator = "+" THEN
END-IF
IF Operator = "*" THEN
MULTIPLY Num1 BY Num2 GIVING Result
END-IF
DISPLAY "Result is = ", Result
END-PERFORM.
STOP RUN.``````

Sabre today

# Minicomputers

DEC PDP-8 (from Wikipedia)

# SQL and Data

``````
SELECT gender, Discipline, year, degrees, degrees / (SUM(degrees) OVER (PARTITION BY year)) as PERCENT FROM
( SELECT year, Discipline, SUM(degrees) AS degrees, gender
FROM degrees WHERE AWLEVEL = 5 AND Discipline = 'Computer Science'
GROUP BY year, Discipline, gender
) AS totals
ORDER BY year, degrees``````

https://observablehq.com/@bmschmidt/cs-sql-21