background preloader

IT & computer science

Facebook Twitter

Other cs classes

Programming Language Learning. Outline of computer science. History of the Internet. The history of the Internet begins with the development of electronic computers in the 1950s.

History of the Internet

Initial concepts of packet networking originated in several computer science laboratories in the United States, Great Britain, and France. The US Department of Defense awarded contracts as early as the 1960s for packet network systems, including the development of the ARPANET (which would become the first network to use the Internet Protocol.) The first message was sent over the ARPANET from computer science Professor Leonard Kleinrock's laboratory at University of California, Los Angeles (UCLA) to the second network node at Stanford Research Institute (SRI). Home.

Main Page - CS50 Manual. 1:oli.extension.harvard.edu. Bit. Binary. Binary means composed of two pieces or two parts and may refer to: Mathematics[edit] Binary number, a representation for numbers using only two digits (0 and 1)Binary relation, a mathematical relation involving two elementsBinary function, a function in mathematics that takes two arguments Computing[edit] Binary file, composed of something other than human-readable textExecutable, a type of binary file that contains machine code for the computer to executeBinary code, the digital representation of text and data.

Binary

ASCII. American character encoding standard ASCII ( ASS-kee),[3]:6 abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication.

ASCII

ASCII codes represent text in computers, telecommunications equipment, and other devices. Most modern character-encoding schemes are based on ASCII, although they support many additional characters. Algorithm. Flow chart of an algorithm (Euclid's algorithm) for calculating the greatest common divisor (g.c.d.) of two numbers a and b in locations named A and B.

Algorithm

The algorithm proceeds by successive subtractions in two loops: IF the test B ≥ A yields "yes" (or true) (more accurately the numberb in location B is greater than or equal to the numbera in location A) THEN, the algorithm specifies B ← B − A (meaning the number b − a replaces the old b). Similarly, IF A > B, THEN A ← A − B. Kevin Slavin: How algorithms shape our world.

Introduction to Algorithms. Algorithm-Powered Movie whiteonwhite:algorithmicnoir Computes at Sundance. A scene from the computer-powered film whiteonwhite:algorithmicnoir.

Algorithm-Powered Movie whiteonwhite:algorithmicnoir Computes at Sundance

PARK CITY, Utah — It’s never the same movie twice. [bug id="sundance"]Eve Sussman’s experimental cinema project whiteonwhite:algorithmicnoir uses a computer to build a movie out of 3,000 video clips, 80 voiceovers and 150 pieces of music. Though it makes choices in largely random fashion, the computer is surprisingly adept at editing together a pretty good movie. Sometimes. Rufus corporation. Whiteonwhite. Daft Punk - Harder, Better, Faster, Stronger. Scratch (programming language) Scratch is a free desktop and online multimedia authoring tool that can be used by students, scholars, teachers, and parents to easily create games and provide a stepping stone to the more advanced world of computer programming or even be used for a range of educational and entertainment constructivist purposes from math and science projects, including simulations and visualizations of experiments, recording lectures with animated presentations, to social sciences animated stories, and interactive art and music.

Scratch (programming language)

Viewing the existing projects available on the Scratch website, or modifying and testing any modification without saving it requires no online registration. Scratch 2 is currently available online and as an application for Windows, Mac OS X and Linux.[1][2] The source code of Scratch 1.x is made available under GPLv2 license and Scratch Source Code License.[3] The Scratch programming language is also used in the game creation tool Stencyl. Statement (computer science) The following are the major generic kinds of statements with examples in typical imperative languages: Most languages have a fixed set of statements defined by the language, but there have been experiments with extensible languages which allow the programmer to define new statements.

Statement (computer science)

Comparison of programming languages (syntax) Prefix notation infix notation suffix, postfix, or Reverse Polish notation statement separators;statement terminators; andline continuation.

Comparison of programming languages (syntax)

Programming language. The earliest programming languages preceded the invention of the digital computer and were used to direct the behavior of machines such as Jacquard looms and player pianos.[1] Thousands of different programming languages have been created, mainly in the computer field, and many more still are being created every year.

Programming language

Many programming languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform), while other languages utilize other forms of program specification such as the declarative form (i.e. the desired result is specified, not how to achieve it). Boolean expression. Boolean expressions correspond to propositional formulas in logic and are a special case of Boolean circuits.

Boolean expression

Boolean operators[edit] Examples[edit] The expression "5 > 3" is evaluated as true. "5>=3" and "3<=5" are equivalent Boolean expressions, both of which are evaluated as true.Of course, most Boolean expressions will contain at least one variable (X > 3), and often more (X > Y). See also[edit] External links[edit] The Calculus of Logic, by George Boole, Cambridge and Dublin Mathematical Journal Vol. Boolean Expressions. Conditional (programming) In computer science, conditional statements, conditional expressions and conditional constructs are features of a programming language which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false. Apart from the case of branch predication, this is always achieved by selectively altering the control flow based on some condition. The if–then construct (sometimes called if–then–else) is common across many programming languages.

Although the syntax varies quite a bit from language to language, the basic structure (in pseudocode form) looks like this: Control flow. Within an imperative programming language, a control flow statement is a statement whose execution results in a choice being made as to which of two or more paths should be followed. For non-strict functional languages, functions and language constructs exist to achieve the same result, but they are not necessarily called control flow statements.

The kinds of control flow statements supported by different languages vary, but can be categorized by their effect: Primitives[edit] Labels[edit] Line numbers are an alternative to a named label (and used in some languages such as Fortran and BASIC), that are whole numbers placed at the beginning of each line of text within the source code. Recursion (computer science) Recursion in computer science is a method where the solution to a problem depends on solutions to smaller instances of the same problem (as opposed to iteration).[1] The approach can be applied to many types of problems, and recursion is one of the central ideas of computer science.[2] "The power of recursion evidently lies in the possibility of defining an infinite set of objects by a finite statement. In the same manner, an infinite number of computations can be described by a finite recursive program, even if this program contains no explicit repetitions. " [3] A common computer programming tactic is to divide a problem into sub-problems of the same type as the original, solve those sub-problems, and combine the results.

Many computer programs must process or generate an arbitrarily large quantity of data. Variable (computer science) For instance, a variable might be referenced by the identifier "total_count" and the variable can contain the number 1956. If the same variable is referenced by the identifier "x" as well, and if using this identifier "x", the value of the variable is altered to 2009, then reading the value using the identifier "total_count" will yield a result of 2009 and not 1956.

If a variable is only referenced by a single identifier that can simply be called the name of the variable. Otherwise, we can speak of one of the names of the variable. Thread (computing) Event (computing) 2oli.extension.harvard.edu. Imagine, program, share. This is CS50 OpenCourseWare. Ps0.pdf (application/pdf Object) Cs50-discuss. 3oli.extension.harvard.edu. Syntax highlighting. A case against syntax highlighting. Source code. Compiler. Object code. Secure Shell. SSH File Transfer Protocol. GNU Compiler Collection. Printf format string. Standard streams. Operator (programming) Arithmetic Operators. C Programming: Precedence of C operators.

4oli.extension.harvard.edu. GRUB. The Universal Operating System. Code School - TryRuby. Code School - RailsForZombies. Rails-For-Zombies-Slides.pdf (application/pdf Object) Learn to code. 5oli.extension.harvard.edu. 6oli.extension.harvard.edu. This is CS50 / Problem Sets. 7oli.extension.harvard.edu. The Basics of C Programming" How Operating Systems Work" 8oli.extension.harvard.edu. Alan Turing. Turing Test opera to embark on UK tour. Turing test. Turing completeness. Entscheidungsproblem. Oracle machine. Church–Turing thesis. Gödel's completeness theorem. Gödel's incompleteness theorems.

Cantor's diagonal argument. Russell's paradox. Digital physics. Fibonacci number. 9oli.extension.harvard.edu. Meet Elbot, Loebner Prize Turing Test contest winner - transcript and photos. Home Page of the Loebner Prize. Turing100in2012. Memory management. Pointer (computer programming) ProgrammingLanguageTheoryTextsOnline < Techno < TWiki. Lecture - 1 Introduction to programming languages. Mapping the Arabic Blogosphere: Politics, Culture and Dissent (2009. MIT's Channel. 10oli.extension.harvard.edu. Debugging. What is heap? Definition from WhatIs. The Basics of C Programming"

The Basics of C Programming" Computer forensics.

Intro to cs, continued

Problem set walkthrough videos & seminars. List of Free Online Computer Hardware Courses and Classes. Laptop Hardware Repair.