Software Flashcards
Linux
Free software-based systems
Code
A sequence of symbols
Goal of code
Turn code into explicit instructions, carried out by interconnected logic gates
Algorithm
Solves a problem
Programming language
System for encoding, naming and organizing algorithms for reuse and application
Two jobs of a programming language
Wrap up algorithms to be reused, make it easy for programmers to wrap up new algorithms and routines into functions for reuse
Wireframe mock up
Picture of how a site will look
Women in comp sci in 2012
Less than 1/5 of undergrads; less than 30% of people in computing
Most used languages
Java, C, C++, Objective-C
Language
Software for making software
Standard library
Pre made software to reuse and reapply
Package manager software
Goes beyond standard library; pre written modules
Module
Code intended to extend a languages capability
Pillow
Commonly used image-processing toolkit
C
Class, simple, fast, like Latin
Kernel
Lowest level in operating system
Object oriented programming
Filing system for coding; not good for C, so Java is better and C++
Python
Object oriented but not rigid, easier than C but slower, glue language
Glue language
Can embed older, faster code
Language benchmarks
How fast compared to others
SQL
Structured query language, relational database, represents world using tables
Big corporate programming
Java
Why is Java taking over the world?
It’s big, it automatically generated documentation, lots of manuals/workshops/trainings, runs anywhere
Why is programming fluid?
Things build on each other, liquid infrastructure
JavaScript
Makes webpages lively/interactive
PHP
Personal home page/forms interpreter, used for web pages
iOS SDK
software development kit for iPhone apps
Django
Framework for Python
Version control
Record for every change made to docs in database
GitHub
Combination newsfeed and backup system, can copy and edit code