Introduction to Computer Programming CS 126 Lecture 2 Zeke Maier
Plan for Today Questions Administrivia Course Census Results Java Introduction Assignment CEC Accounts
Questions: Jobs Job market is tight right now Google, Microsoft, Boeing, Monsanto… FBI, NSA, smaller firms, start a new company! PositivesNegatives Job SatisfactionActivity $50,000Monotony Still GrowingCeiling
Questions: Job Skills Multitude of languages –.NET, Java, C/C++, Ruby… – HTML, CSS, Javascript, ActionScript/Flash,.NET, Ruby, PHP, Python… – SQL Source Revision Control –Subversion, CVS, GIT Other –Projects, Aptitude, Coding Style, Methodology
Administrivia –Teaching Assistant schedule –Telesis for grades –Calendar updated –AIM account –Assignment cover sheet
Course Census Results
Course Goals “Understand how computers operate to strengthen my everyday interactions” “Gain a basic understanding of programming to evaluate potential future endeavors” Additional Comments “Can I do well without previous programming experience?”
Languages Syntax –Rules of writing structure Semantics –Meaning of what is written class Hello { //My first program! public static void main(String args[]) { system.out.println(“Hello, World!”); }
Programming Languages A language for describing computer computations –High level languages Description: abstraction of low level languages Examples: Java, C++,… –Low level languages Description: 1s and 0s, computer executable Examples: assembly & machine code
High Level Languages: Basic Elements Primitives –Numbers, characters, strings, addition… Means of combination –x=3+4; Means of abstraction –Data abstraction (Facebook profile) Means of capturing common patterns –Inheritance
High to Low Level
Java Object Oriented Programming Language –Programs are a collection of communicating objects Class = type of object Object = instantiation of class Class –Models something… –Consists of: Data members Methods
Program Sequence of instructions which specify a computation –Take in input –Perform operations –Produce output –Testable
Debugging Process of tracking down and correcting bugs –Compile-time errors Syntax –Run-time errors Exceptions –Logic errors Semantic Experimental debugging
Assignment Lab 0 to be done in lab sections today Readings –Friday AD Chapter 1 KG Notes