1CS201http://www.csam.iit.edu/~oaldawud/CS201Accelerated Introduction to CSUsing Java 5© 2004 Illinois Institute of TechnologyCS201http://www.csam.iit.edu/~oaldawud/CS201Class ListCS201http://www.csam.iit.edu/~oaldawud/CS201Schedule CS -201-071 M 06:25-09:05PM Rice Campus - Wheaton Room RI 148 LAB W 06:25-09:05PM CS -201-392 MW 06:25-09:05PM IITVLAB W 06:25-09:05PMCS201http://www.csam.iit.edu/~oaldawud/CS201Java Must Have To write your first program, you need: • The JavaTM5 Platform, Standard Edition.• Book Companion CD • A text editor. Notepad, the simple editor included with the Windows platforms. To find Notepad, from the Start menu select Programs > Accessories > Notepad. You MUST use an IDE– Eclipse– Jbuilder– Many available with the book Companion CDCS201http://www.csam.iit.edu/~oaldawud/CS201Class Goals Students should be able to:– Analyze and explain the behavior of simple programs involving the following fundamental programming constructs: assignment, I/O (including file I/O), selection, iteration, functions, pointers – Write a program that uses each of the following fundamental programming constructs: assignment, I/O (including file I/O), selection, iteration, functions, pointers Break a problem into logical pieces that can be solved (programmed) independentlyCS201http://www.csam.iit.edu/~oaldawud/CS201Class Goals Develop, and analyze, algorithms for solving simple problems. Use a suitable programming language, and development environment, to implement, test, and debug algorithms for solving simple problems. Write programs that use each of the following data structures (and describe how they are represented in memory): strings, arrays, structures, class libraries including strings and vectors Explain the basics of the concept of recursion. – Write, test, and debug simple recursive functions and procedures.2CS201http://www.csam.iit.edu/~oaldawud/CS201Class Goals Explain and apply object-oriented design and testing involving the following concepts: – data abstraction, encapsulation, information hiding, sub-classing, inheritance, templates Use a development environment to design, code, test, and debug simple programs, including multi-file source projects, in an object-oriented programming language. Solve problems by creating and using sequential search, binary search, and quadratic sorting algorithms (selection, insertion) – Determine the time complexity of simple algorithms. Students will also learn some problem-solving strategies CS201http://www.csam.iit.edu/~oaldawud/CS201Text Book TEXTBOOK (REQUIRED)– Java 5 illuminated, Julie Anderson and Herve Franceschi, Jones and Bartlett ISBN 0-7637-1667-7 LAB MANUAL– NACS201http://www.csam.iit.edu/~oaldawud/CS201Contact Information Class Home Page, http://www.csam.iit.edu/~oaldawud/CS201/ Omar [email protected] Shulan [email protected]://www.csam.iit.edu/~oaldawud/CS201IntroductionChapter 1CS201http://www.csam.iit.edu/~oaldawud/CS201What is a Computer? Computer is a machine– Has parts– Runs on electricity– Breaks down sometimes What makes it different from other machines?– Can follow a list of instructions– Instructions process symbolsThereforeA computer isan information-processing machineCS201http://www.csam.iit.edu/~oaldawud/CS201Instructions Computer follows a list of instructions one instruction at a time– Start with first instruction– Do each instruction in turn– Stop when last instruction reached Similar to how you follow a list of instructions...3CS201http://www.csam.iit.edu/~oaldawud/CS201Instructions Kinds of instructions a computer can follow (in one step)• “Add the numbers 16 and 23” Kinds of instructions a computer can’t follow (in one step)– “Balance my checkbook” What’s the difference?– Computer instructions are simple (add 2 numbers, subtract one number from another)– Must combine thousands of computer instructions in a program to do more complex tasksCS201http://www.csam.iit.edu/~oaldawud/CS201Instructions Types Kinds of computer instructions– Arithmetic: add, subtract, multiply, divide– Comparison: compare two numbers to see which is greater, or whether the two numbers are equal or not– Branching: jump to some other instruction in the program (list of instructions) and continue processing from there– Looping A computer can execute millions of these simple instructions each secondCS201http://www.csam.iit.edu/~oaldawud/CS201What is a Computer? Major parts of a computerInputDeviceCentralProcessing Unit(CPU)PrimaryMemoryOutputDeviceSecondaryMemoryChapter 1Introduction to Programming and the Java LanguageCS201http://www.csam.iit.edu/~oaldawud/CS201Topics Basic Computer Concepts Data Representation Introduction to Programming Languages Introduction to Programming– Programming Basics– Program Design with Pseudocode– Developing a Java ApplicationCS201http://www.csam.iit.edu/~oaldawud/CS201Basic Computer Concepts Hardware– Central Processing Unit– Memory and Storage Devices Operating Systems Application Software Computer Networks and the Internet4CS201http://www.csam.iit.edu/~oaldawud/CS201Hardware A typical computer consists of:– CPU: executes the instructions of the program– Hard disk: stores instructions and data so program can be loaded into memory and executed– Memory unit: stores the program instructions and data while executing– Keyboard and mouse: used for data input– Monitor: used to display output from a program– Other accessoriesCS201http://www.csam.iit.edu/~oaldawud/CS201Central Processing Unit (CPU) Arithmetic Logic Unit: performs integer arithmetic and logical operations Floating-point Unit: performs floating-point operations Hardware registers: store data and memory addresses– A small number of registers. each is a high-speed storage area for temporary results Instruction pointer: keeps track of current instruction to execute control unit: determines which instruction to execute next Examples: Intel Pentium 4, Sun Microsystems SPARC, IBM PowerPCCS201http://www.csam.iit.edu/~oaldawud/CS201Processor Instruction Set Move data from one location to another Perform a calculation Change the sequence of instructions to execute (the flow of control) Instruction set– The set of machine language instructions the CPU understands– Examples: Intel
View Full Document