Table of contents: Notes
- Self development notes
- MIT 600 notes
- M.I.T. 600: Intro to Computer Science, Lecture 1 notes
- M.I.T. 600: Intro to Computer Science, Lecture 2 notes
Uncategorized so far
Self development notes
- Never say Yes to the first offer or counter-offer from the other side. It automatically triggers two thoughts: I could have done better (and next time I will) and Something must be wrong.
- The big danger is when you have formed a mental picture of how the other person will respond to your proposal and he comes back much higher than you expected. Prepare for this possibility so it you won’t catch you off guard.
Notes from M.I.T. 600 course, Intro to Computer Science
M.I.T. 600, Lecture 1 (YouTube)
I’ve found notes others have taken for this class:
Mike Stratton’s notes from MIT 600, Lecture 1
The lecture began with a bit of epistemology (the study of knowledge, the nature and limits of knowledge, etc.). Knowledge can be divided into two broad categories:
- Declarative (a.k.a. descriptive, propositional) knowledge: statements of fact; assertions of truth; definitions, axioms; information which allows testing or tells you how you might deduce something; knowing that something is true or false (e.g., knowing that the speed limit on our street is 35mph)
- Imperative (a.k.a. procedural) knowledge: Knowing how to do something (e.g., knowing how to drive a car)
Declarative knowledge is knowing what: a car has 4 tires; Julie is two years and two months younger than Stephen.
Imperative/procedural knowledge is knowing how: knowing that, in order to determine whether Julie or Stephen is younger, one must first determine their birthdays.
Declarative knowledge, also descriptive or propositional knowledge, is the species of knowledge that is, by its very nature, expressed in declarative sentences or indicative propositions. Declarative knowledge is often expressed in statements that define something.
Includes axioms: propositions not proven or demonstrated but considered either to be self-evident or to define and delimit the realm of analysis. In other words, an axiom is a logical statement that is assumed to be true.
Imperative knowledge, also known as procedural knowledge, is the knowledge exercised in the performance of some task. (See below for the specific meaning of this term in cognitive psychology – tacit knowledge – and intellectual property law – trade secrets.)
Imperative knowledge is different from other kinds of knowledge, such as declarative knowledge, in that it can be directly applied to a task. For instance, the procedural knowledge (how to drive a car) one uses to solve problems differs from the declarative knowledge (x is blah blah blah) one possesses about problem solving. In some legal systems, such procedural knowledge has been considered the intellectual property of a company, and can be transferred when that company is purchased (again, commonly known as trade secrets).
One advantage of imperative/ procedural knowledge is that it can involve more senses, such as hands-on experience, practice at solving problems, understanding of the limitations of a specific solution, etc. Thus procedural knowledge can frequently eclipse theory.
In cognitive psychology, procedural knowledge is the knowledge exercised in the accomplishment of a task, and thus includes knowledge which, unlike declarative knowledge, cannot be easily articulated by the individual, since it is typically not conscious (or tacit knowledge). For example, most individuals can easily recognize a specific face as “attractive” or a specific joke as “funny,” but they cannot explain how exactly they arrived at that conclusion or they cannot provide a working definition of “attractiveness” or being “funny.”
In terms of computer programming and math
Example of declarative knowledge: X = √2
The above statement defines the letter x to be equivalent to the square root of 2. This does not tell us how to find the square root; it only makes a definition.
Example of procedural/imperative knowledge: IF someone types the number one, THEN print 1. This statement provides a set of instructions to follow; no declaration is made.
Early computers: Fixed program
The earliest computers were fixed program computers: designed to perform a single task; special-purpose computers with their program(s) permanently wired in.
Examples of fixed program computers:
- Turing machines – An imaginary computing machine defined as a mathematical abstraction by Alan Turing to make precise the notion of an effective procedure (i.e. an algorithm). There are many equivalent ways of dealing with this problem; among the first was Turing’s abstract machine, published in 1936. (Encyclopedia.com on Turing machine) – designed to break German codes during WW2
- Atanasoff–Berry computer – designed to solve linear equations
Von Neumann architecture:
The phrase Von Neumann architecture derives from a paper circulated under the name of the mathematician and early computer scientist John von Neumann that was entitled First Draft of a Report on the EDVAC dated June 30, 1945. This describes a design architecture for an electronic digital computer with subdivisions of a central arithmetic part, a central control part, a memory to store both data and instructions, external storage, and input and output mechanisms. The meaning of the phrase has evolved to mean a stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus. This is referred to as the Von Neumann bottleneck and often limits the performance of the system. (Source: Von Neumann architecture, Wikipedia)
Next came stored program computers
Program counter – which instruction to perform next
A program is like a recipe: a sequence of instructions
Given a fixed set of primitives, a good programmer could create a range of programs; anything that could be made from say, six primitives…(Turing)
Computer program: sequence of instructions to perform a task
Turing compatibility Anything you can do in one programming language, you can do in another (if it is a complete language).
Church-Turing thesis – In computability theory, the Church–Turing thesis (also known as the Church–Turing conjecture, Church’s thesis, Church’s conjecture, and Turing’s thesis) is a combined hypothesis (“thesis”) about the nature of functions whose values are effectively calculable; i.e. computable. In simple terms, it states that “everything computable is computable by a Turing machine.”
There is no “best” computer programming language, per se; however, some programming languages are better suited than others for certain kinds of tasks.
This course is not about Python, specifically; it is more about how to think like a programmer.
High-level vs. low-level computer programming languages
General vs. targeted language
Compiled vs. interpreted computer programs
(For compiled languages, source code muse be compiled into object code, which is generally faster.)
Python is a high-level, general purpose, interpreted language.
Syntax – what are the legal expressions of the language? How do you put together properly formed (legal) expressions? In Python, lots of help for syntax is built in.
In computer science, the syntax of a programming language is the set of rules that define the combinations of symbols that are considered to be correctly structured programs in that language. The syntax of a language defines its surface form. Text-based programming languages are based on sequences of characters, while visual programming languages are based on the spatial layout and connections between symbols (which may be textual or graphical). (Source: Wikipedia)
Static semantics – Python is not quite as helpful weeding out static semantic issues.
The static semantics defines restrictions on the structure of valid texts that are hard or impossible to express in standard syntactic formalisms. (Source: Wikipedia) I’m not really sure exactly what that means!
Semantics – which expressions make sense; does the program accomplish what you intended for it to accomplish? Python cannot help you much here; this is where good programming style comes in. Learning to program in good style will help you avoid semantic errors.
In computer science, the term semantics refers to the meaning of languages, as opposed to their form (syntax). According to Euzenat, semantics “provides the rules for interpreting the syntax which do not provide the meaning directly but constrains the possible interpretations of what is declared.” In other words, semantics is about interpretation of an expression. (Source: Wikipedia)
Integer (e.g., 3)
Floating point (3.5) – decimal included
Related links (MIT 600)
- Knowledge representation: Issues, Predicate Knowledge, Rules (79-page PDF) – MyReaders.info
- Types of knowledge: Knowledge management section, Global Development Research Center (GDRC)
- Types of knowledge: Expert systems in manufacturing
- Fixed program computer definition – Answers
In this lecture: Operators and operands, ‘statements’ as the key building blocks for code, branching, conditionals, iteration
Working with the Python shell. By now you should have installed a Python shell on your computer and played around with it a bit.
Primitive data – numbers, strings
Types – integers, floating point, string
Values, types are combined into expressions with operands.
We’ve been typing into the Python interpreter, which basically interprets what we type in and then prints the result or answer.
In a script (program), there is no printing unless it is explicitly commanded.
str(xx) converts xx into a string.
3+’ab’gives a static semantic error; although the syntax was correct, it was expecting the second value to be a number but it was a string by default (letters instead of digits). But if we type into the interpreter:
str(3)+’ab’ , we get:
This means we need to exercise type discipline in our programming. Be aware of it.
Weak typing, strong typing – computer programming languages vary in their typing strength; Python is fairly strong but not the strongest.
Operator precedence: performs multiplication before addition, etc.
Assignment statement: x=3*5
Dynamic typing (x could be a number first and later become a string). Don’t change types arbitrarily.
You can use a variable anywhere it’s legal to use the value.
Statements: any legal commands Python can interpret
PRINT, variable assignment, etc.
Comments in Python are identified with a hash symbol (#).
Good programming practices include:
- adding comments that adequately describe what the lines of code are doing
- using intuitive variable names
- documenting all variable names used
There are certain keywords that are off limits and cannot be used as variable names in Python programs (e.g., the word “print” cannot be used; there are 28 of them).
Straight-line programs – So far, we have the knowledge necessary to create only straight-line programs – step-by-step, with no branching.
Branching can change the order of the program instructions based on certain variable values, for instance.
Colon (:) – starts a block of instruction; carriage return marks the end of the block of instructions
= is assignment
== are these two equal?
block of instructions
else: block of instructions
Jump to top
Zeitgeist (& Addendum) notes
Facts, according to the documentary Zeitgeist: Addendum:
- 40% of the world’s wealth is owned by 1% of the world’s population
- 34,000 children die each day from poverty, starvation, and preventable diseases
- 50% of the global population lives on less than $2 a day
Premises of Zeitgeist: Addendum
Money rules everything, so understanding monetary policy is crucial for those who want to understand how the world really works; however, most people find economics confusing.
Sources referenced in Zeitgeist (& Addendum)
- Modern Money Mechanics pamphlet
Simplification of a process
- U.S. government needs money
- U.S. government contacts the Federal Reserve (the Fed)
- Fed agrees to buy $10 billion in bonds
- U.S. gov’t prints bonds, sends them to Fed
- Fed creates Federal Reserve Notes (Notes)
- Fed trades them
- Paper notes become legal tender
Existence of money
- 3% of the U.S. money supply exists as physical paper
- 97% is digital money – merely conceptual or electronic
This was written on Friday, September 16, 2011.
Jump to top
Money, monetary policy, money creation, debt
A couple of things have spurred a desire to learn a bit more about money and economics: (1) watching the Zeitgeist: Addendum documentary and (2) recent conversations with an older friend who is keenly interested in related topics.
Resources: Money, monetary policy, money creation, debt
- Money creation, Wikipedia
- Ludwig von Mises, Wikipedia – an Austrian-American economist, historian, philosopher, author, and classical liberal who had a significant influence on the modern free-market libertarian movement
- Theory of Money and Credit: Money and Banking – The Business of Banking – Library of Economics and Liberty
- Online Library of Liberty: To encourage the study of the ideal of a society of free and responsible individuals
- The Theory of Money and Credit, Wikipedia
This content (Predictions) was formerly a separate page on SF’s main brain dump blog (now titled Another Day, Another Digression), but it was not updated much.
Results of Arab Spring
(Tue Oct 25, 2011) Islamist parties will perform very well in upcoming elections within the Arab/Muslim world
2012 race for president (see below)
I frequently pledge my intention to follow up on various predictions later, just to see if they come to fruition – then I typically forget about it.
Even though I’m often fascinated when I read about predictions, I’m not much of a prognosticator; I don’t make many predictions (out loud, at least – much less in writing). I’m guessing only a small portion of my predictions would be anything I’d care to publish publicly – to let you, some random reader, in on it (no offense!) – so we’ll have to wait and see if this page evolves into something moderately interesting, or whether it winds up a frizzle fry.
2012 Presidential election
Prediction date: Wednesday, September 14, 2011
Sarah Palin will toss her hat into the ring (God forbid).
If the Republican Party wises up and moves back toward the center, then Mitt Romney will be the nominee. If Romney is the nominee, he will win the election, limiting Barack Obama to a single term.
If the Republican Party continues to polarize, with its loudest and most enthusiastic voice continuing to move toward the far, hard right, then Rick Perry will be the nominee. If Perry is the nominee, Barack Obama will win the election and serve a second term.
Future of postwar Afghanistan
Prediction date: Wednesday, September 14, 2011
Violence in Afghanistan will spiral out of control as U.S. troops depart the ill-navigable country, eventually making it clear that we wasted billions of dollars and thousands of lives on this ridiculous war.
Revenge is not a valid spiritual principle. If America wants to call itself a Christian nation, she should abide by spiritual principles far more consistently than she now does.
There’s no telling what good could have been done by spending the amount of money wasted in Afghanistan in America instead: infrastructure, debt service, whatever.
The old wisdom about war is usually correct: There are no real winners. World War II seems to be an unusual exception; however, things might have resolved themselves in a favorable way had a world war not occurred… who knows? (No one.)
- Quotes about war – Wisdom Quotes: Quotations to challenge and inspire
- Best movie quotes about war – Reel Life Wisdom
- The Best War Quotes – Board of Wisdom (I question the pro-war “wisdom”… another effort to present more than one viewpoint here at Another day, another digression.)
Future of postwar Iraq
Prediction date: Wednesday, September 14, 2011
Chaos in Iraq is already on the rise, so it’s not much of a stretch to predict that sectarian violence will continue to increase, eventually making it clear that the United States wasted billions of hard-earned tax dollars and thousands of lives on this war: extremely poor judgment – an emotional response with monetary/power-related ulterior motives.
Terrorism on United States soil
Prediction date: Early August 2011; documented 9/8/2011
I predict there will be a significant terrorist attack (or a serious attempt, at least) on the ten-year anniversary of 9/11. I hope I’m wrong.
Verdict: Wrong, thank god.
Predictions of others
From a Foreign Policy article:
Kalev Leetaru, the assistant director for text and digital media analytics at the University of Illinois’s Institute for Computing in the Humanities, Arts, and Social Science, is one of the leading researchers in the emerging field of conflict early-warning. In a paper published this month in the peer-reviewed online technology journal First Monday, Leetaru argues that “computational analysis of large text archives can yield novel insights to the functioning of society.”
Other studies show that it appears possible to predict stock market performance based on the analysis of Twitter chatter (tweets).
Sentiment analysis programs can scan global news articles for positive and negative words and can also distinguish the severity of feeling, knowing the difference between “loathe” and “dislike”, for instance; it misses nuance and can be fooled by sarcasm, but at the scale of data researchers were working with, this software can give a surprisingly accurate indication of global media sentiment on a given topic.
- Can a Supercomputer Predict a Revolution? Not quite yet. But a new study suggests how it may one day be possible. Foreign Policy
- Twitter mood predicts the stock market
- Computational analysis of large text archives can yield novel insights to the functioning of society…
- Sentiment analysis, Wikipedia
Removed content (Predictions)
Well, this is where I’ve begun documenting a few predictions that I find interesting, and in whose results I have some kind of interest. A prediction is different than a hope or a wish, lest you deem this writer some sort of unseemly, morbid individual…
Wordle is a toy for generating “word clouds” from text that you provide. The clouds give greater prominence to words that appear more frequently in the source text. You can tweak your clouds with different fonts, layouts, and color schemes. The images you create with Wordle are yours to use however you like. You can print them out, or save them to the Wordle gallery to share with your friends.
- Deism vs. Christianity word cloud – Of the Religion of Deism Compared With the Christian Religion (Thomas Paine essay) – Deism.com
Intelligence on display
A mostly unnoticeable tip-o-the-hat to public displays of creative intelligence and critical thought, in no particular order. We feel that sites such as these deserve more attention and respect; please check them out!
- Derek Bruff: Author of Teaching with Classroom Response Systems
- Center for Teaching, Learning, & Technology
- SkepChick – Excerpt: Skepchick is a group of women (and one deserving guy) who write about science, skepticism, feminism, atheism, secularism, and pseudoscience. With intelligence, curiosity, and occasional snark, the group tackles diverse topics from astronomy to astrology, psychics to psychology. Lovely!
- AIR University, The intellectual and leadership center of the Air Force – We can certainly appreciate these minds; after all, where would America be if all of us were pacifists?
- Church of Critical Thinking – Excerpt: …familiarize yourself with a few basic principles before passing judgement. Try to clear your mind of preconceived notions, no organized faith or belief systems are applicable here. Should you find the subject matter herein of interest, we encourage you to research on your own because this entire site is utter nonsense…
- Montana Heritage Project
Infographics & eye candy
- Cool Infographics
- Eye Candy Images – Yeah, yeah – this site was initially listed just because of its title – but they seem to deliver
- Eye Candy, in a more literal sense; others like it, too
- We noticed the name Eye Candy is most often used for image collections, web designers, and even optometrists! (But we hate it when sites play music or audio by default, even if it is a pleasing stream of electronica…)
- 10 Best Arty Eye Candy Blogs – The Best in Blogs: Blogs.com
- Infographics – Flowing Data – Excerpt: FlowingData explores how designers, statisticians, and computer scientists are using data to understand ourselves better — mainly through data visualization.
- Killer Infographics – Submit infographics – Excerpt: Submit Infographics is a user generated infographic gallery, in which webmasters everywhere can submit their infographic to be featured on this site, complete with a review, link back, and an audience that is obsessed with infographics…
- Infographics Showcase – …the best infographics and creative infographic reviews; new infographics every week with reviews and grades for each infographic; feel free to submit your infographic(s)…
FBI: Operation Delta Blues: West Helena, Arkansas
My brother-in-law Jeff, an FBI agent, recently took part in Operation Delta Blues, a major drug corruption bust in the Arkansas town of Helena/West Helena.
Five police officers who allegedly guarded drug shipments were among 70 people indicted Tuesday in a sweeping federal investigation into corruption and drug trafficking in eastern Arkansas… The investigation involved officers who are accused of accepting bribes to watch over shipments of cocaine, crack cocaine, marijuana and methamphetamine that moved across state lines, said Valerie Parlave, special agent in charge of the FBI’s Little Rock office.