Difference between revisions of "Computer Science Guide"

From Earlham CS Department
Jump to navigation Jump to search
(if-then-else)
Line 1: Line 1:
Table of Contents
+
abc
forward
+
 
notes about text
 
code
 
computer hardware
 
operating systems
 
networks
 
databases
 
graphics
 
troubleshooting
 
  
Detailed Table of Contents
 
forward
 
notes about text
 
formatting
 
composition
 
reading guide
 
sources
 
code
 
overview
 
design
 
concepts
 
conditionals
 
loops
 
classes
 
style
 
c++
 
python
 
computer hardware
 
overview
 
cpu
 
ram
 
hard drives
 
displays
 
motherboards
 
ports
 
peripherals
 
operating systems
 
overview
 
networks
 
overview
 
topography
 
security
 
protocols
 
performance
 
databases
 
overview
 
design
 
security
 
queries & SQL
 
graphics
 
overview
 
troubleshooting
 
overview
 
desktops
 
laptops
 
displays
 
tablets
 
phones
 
?
 
 
==forward==
 
==forward==
  
Line 88: Line 31:
 
note key
 
note key
 
*(TODO: ) is used to indicate necessary changes
 
*(TODO: ) is used to indicate necessary changes
 +
  
 
===composition===
 
===composition===
 +
  
 
===reading guide===
 
===reading guide===
Line 96: Line 41:
 
===sources===
 
===sources===
 
Wikipedia is relied upon heavily. It was the fastest way to get this project going. Additional sources are welcome to be incorporated where appropriate.
 
Wikipedia is relied upon heavily. It was the fastest way to get this project going. Additional sources are welcome to be incorporated where appropriate.
 +
  
 
==code==
 
==code==
Line 102: Line 48:
  
 
Programming is a process that leads from an original formulation of a computing problem to executable programs. It involves activities such as analysis, understanding, and generically solving such problems resulting in an algorithm, verification of requirements of the algorithm including its correctness and its resource consumption, implementation (commonly referred to as coding[1][2]) of the algorithm in a target programming language. Source code is written in one or more programming languages (such as C, C++, C#, Java, Python, Smalltalk, JavaScript, etc.). The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solve a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.
 
Programming is a process that leads from an original formulation of a computing problem to executable programs. It involves activities such as analysis, understanding, and generically solving such problems resulting in an algorithm, verification of requirements of the algorithm including its correctness and its resource consumption, implementation (commonly referred to as coding[1][2]) of the algorithm in a target programming language. Source code is written in one or more programming languages (such as C, C++, C#, Java, Python, Smalltalk, JavaScript, etc.). The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solve a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.
 +
  
 
===design===
 
===design===
Line 109: Line 56:
  
 
The design model is the equivalent of an architect’s plans for a house. It begins by representing the totality of the thing to be built (e.g., a three-dimensional rendering of the house) and slowly re?nes the thing to provide guidance for constructing each detail (e.g., the plumbing layout). Similarly, the design model that is created for software provides a variety of different views of the computer software. Basic design principles enable the software engineer to navigate the design process.
 
The design model is the equivalent of an architect’s plans for a house. It begins by representing the totality of the thing to be built (e.g., a three-dimensional rendering of the house) and slowly re?nes the thing to provide guidance for constructing each detail (e.g., the plumbing layout). Similarly, the design model that is created for software provides a variety of different views of the computer software. Basic design principles enable the software engineer to navigate the design process.
 +
  
 
===concepts===
 
===concepts===
Line 115: Line 63:
  
 
Conditional statements are features of a programming language which perform different computations or actions depending on whether a boolean condition evaluates to true or false.
 
Conditional statements are features of a programming language which perform different computations or actions depending on whether a boolean condition evaluates to true or false.
 +
  
 
=====if-then-else=====
 
=====if-then-else=====
 +
http://en.wikipedia.org/wiki/Conditional_(computer_programming)#If-then-else_expressions
 +
 +
 +
IF (boolean condition) THEN
 +
    (consequent)
 +
ELSE
 +
    (alternative)
 +
END IF
 +
  
 
=====switch=====
 
=====switch=====
  
 +
switch (someCharacter) {
 +
  case 'a':
 +
    onA();
 +
    break;
 +
 +
  case 'x':
 +
    onX();
 +
    break;
 +
 +
  case 'z':
 +
    onYandZ();
 +
    break;
 +
 +
  default:
 +
    onNoMatch();
 +
}
  
 
=====loops=====
 
=====loops=====
 +
  
 
====enumerations====
 
====enumerations====

Revision as of 11:51, 20 September 2014

abc


forward

This is a compilation of online resources.

  • resources may be cut and edited to better fit the philosophy of this text


This text is intended to:

  • be simple
  • help those that desire it
  • expose concepts without complexity
  • be accessible by print and web
  • provide links to all sourced information
  • be editable by those without malicious intent


It is not expected that you read this text sequentially or entirely.

  • use this text in whatever way benefits you most


This is NOT a supplement for a traditional academic resource such as a textbook.

notes about text

formatting

citation

  • source links are included above their quotes

note key

  • (TODO: ) is used to indicate necessary changes


composition

reading guide

sources

Wikipedia is relied upon heavily. It was the fastest way to get this project going. Additional sources are welcome to be incorporated where appropriate.


code

overview

http://en.wikipedia.org/wiki/Computer_programming

Programming is a process that leads from an original formulation of a computing problem to executable programs. It involves activities such as analysis, understanding, and generically solving such problems resulting in an algorithm, verification of requirements of the algorithm including its correctness and its resource consumption, implementation (commonly referred to as coding[1][2]) of the algorithm in a target programming language. Source code is written in one or more programming languages (such as C, C++, C#, Java, Python, Smalltalk, JavaScript, etc.). The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solve a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.


design

http://en.wikipedia.org/wiki/Software_design#Software_Design

Software design is both a process and a model. The design process is a sequence of steps that enable the designer to describe all aspects of the software to be built. It is important to note, however, that the design process is not simply a cookbook. Creative skill, past experience, a sense of what makes “good” software, and an overall commitment to quality are critical success factors for a competent design.

The design model is the equivalent of an architect’s plans for a house. It begins by representing the totality of the thing to be built (e.g., a three-dimensional rendering of the house) and slowly re?nes the thing to provide guidance for constructing each detail (e.g., the plumbing layout). Similarly, the design model that is created for software provides a variety of different views of the computer software. Basic design principles enable the software engineer to navigate the design process.


concepts

conditionals

http://en.wikipedia.org/wiki/Conditional_(computer_programming)#If-then-else_expressions

Conditional statements are features of a programming language which perform different computations or actions depending on whether a boolean condition evaluates to true or false.


if-then-else

http://en.wikipedia.org/wiki/Conditional_(computer_programming)#If-then-else_expressions


IF (boolean condition) THEN

   (consequent)

ELSE

   (alternative)

END IF


switch

switch (someCharacter) {

 case 'a':
   onA();
   break;
 case 'x':
   onX();
   break;
 case 'z':
   onYandZ();
   break;
 default:
   onNoMatch();

}

loops

enumerations

structures

classes

style

c++

python