CS Computer Programming in Fortran 90 & C
|
|
- Tyler O’Neal’
- 5 years ago
- Views:
Transcription
1 CS Computer Programming in Fortran 90 & C Instructor: Dr. Henry Neeman TAs: Ashwin Seshadri, Hisham Qureshi Prerequisite: MATH 1523 (Elementary Functions) or equivalent Class Meetings: Tues/Thurs 10:30-11:45am GLCH 123 Lab sections: Fridays 10:30am, 1:30pm & 2:30pm Carson 206 Note: this class is NOT for students majoring in CS or enrolled in CS option programs.
2 Syllabus for CS Spring 2000 Computer Programming in Fortran 90 & C Class: Tuesdays & Thursdays 10:30-11:45am, George Lynn Cross Hall 123 Instructor: Dr. Henry Neeman, Sarkeys Energy Center 1252 (Boyd & Jenkins) (hneeman@ou.edu, ) Office hours: Tues & Thurs 12:15-1:15pm, Sarkeys Energy Center 1252 OR BY APPOINTMENT AT LEAST 24 HOURS IN ADVANCE Note: please contact me by unless it s an emergency; please don t call the CAPS or Computer Science offices if you can t find me in my office. Labs: Fridays 10:30-11:20am (section 011), 1:30-2:20pm (012) or 2:30-3:20pm (013) Carson Engineering Center 206 TAs: Ashwin Seshadri (sashwin@ou.edu), Carson Engineering Center B18 Office hours to be announced Hisham Qureshi (hisham aq@ou.edu), Carson Engineering Center B8 Office hours to be announced Prerequisite: MATH 1523 (Elementary Functions) or equivalent Note: this class is not for students majoring in CS or enrolled in CS option programs. Material to be covered Programming in Fortran 90 (about the first half of the semester) Programming in C (the rest of the semester) Texts Programming in Fortran 90/95, 5th ed., S. Lakshmivarahan & S.K. Dhall, 1999 Available at King Kopy (Lindsey & Jenkins) Problem Solving & Program Design in C, 3rd ed., J.R. Hamly & E.B. Koffman, 1999 Required work 7-10 Programming Projects (55%) Weekly Quizzes (10%): every Tuesday at 10:30am starting Jan 25 (usually open book) Quiz questions will be taken verbatim from the homework assigned the previous Tuesday. Midterm Exam (15%): date to be announced in class Final Exam (20%): Thursday May 4 8:00-10:00am Recommended work Readings will be assigned most weeks to supplement the lectures. Weekly homeworks will be assigned every Tuesday starting Jan 18. These will form the basis for the quizzes; they will not be collected or graded. Grading: A: 90% - 100% B: 80% - 89% C: 70% - 79% D: 60% - 69% F: less than 60% I reserve the right to curve the grades as I see fit, but the curve will not be harsher than this. Web postings All printed class materials, including lecture slides, homework assignments and programming project descriptions, will be posted on the class webpage:
3 Syllabus for CS Spring 2000 (continued) Computer Programming in Fortran 90 & C Occasionally, we may need to alert the class when an issue comes up. You should check your at least once a week. Class Policies Credit for programming projects No lateness deduction: if turned in on time (by 11:45am on the due date) 25% deducted: if late one class (by 11:45am the class after the due date) No credit: if later than 11:45am the class after the due date Helping each other I encourage you to discuss homework and programming projects with each other. However, IT IS NOT ACCEPTABLE to copy each other s work. Cheating can result in suspension or expulsion, so DON T EVEN THINK ABOUT IT! Help from us If you have questions or you re having trouble with the material, we urge you to come talk to us during office hours, or to make an appointment (at least 24 hours in advance) to meet at other times, or to send us . Working on programming projects Do not wait until the last minute to start your programming projects. Developing software takes time, and may depend on the availability and reliability of systems that you have no control over. If the computers are down the night before a due date, don t count on that buying you extra debugging time it certainly won t in the real world. Studying for exams Do not wait until the last minute to start studying for exams. The best way to ensure success is to keep up with the course material, and to ask questions. Students who actively participate in lectures and come to office hours typically learn and retain the material a lot better. Will this be on the exam? Yes. Everything covered in class, readings, labs, homeworks and programming projects is fair game unless specifically stated otherwise. Disability Any student in this course who has a disability that may prevent him or her from fully demonstrating his or her abilities should contact the instructor personally as soon as possible so that accommodations necessary can be made to ensure full participation and to facilitate your educational opportunities. Be prepared to bring documentation from the Office of Disabled Student Services. Academic Misconduct All cases of academic misconduct will be reported to the Dean of the appropriate College for adjudication.
4 Outline of Fortran 90 Topics Overview of Computing Computer Organization Languages Problem Solving Variables Data Types Basic Data Types 1D Arrays Derived Data Types Assignments Expressions Numeric Non-numeric Control Structures Branching Repetition Procedures Subroutines Functions Modularity Modules Interface Blocks Input/Output Formatting Files Note: this is roughly how this part of the semester will go.
5 What is a Computer? A computer is a programmable electronic device that can store, retrieve and process data. compact disc ZIP Hello...
6 Components of a Computer System COMPUTER SYSTEM HARDWARE Physical devices SOFTWARE Sets of instructions FIRMWARE Software that lives on a chip
7 Hardware Components HARDWARE CPU STORAGE INPUT/OUTPUT Control Unit Arithmetic/ Logic Unit Registers Cache $1600/MB Proc Speed Main Memory $2/MB 100 MB/sec Hard Disk $ /MB 8-40 MB/sec BASIC I/O Keyboard Mouse Monitor Printer MULTIMEDIA Speakers Amplifier CDROM Joystick CDROM $0.003/MB 7 MB/sec etc Scanner etc Secondary Storage Zip/Jaz/etc Disk $ /MB MB/sec Magnetic Tape $0.003/MB 1 MB/sec Floppy Disk $0.21/MB 0.03 MB/sec etc NETWORKING Modem Internet Port etc
8 Central Processing Unit Fetch Next Instruction Control Unit Increment Instruction Pointer Find Data Addresses in Memory Fetch Data from Memory Execute Instruction... Store Result in Memory Arithmetic/Logic Unit Add R03 = R03 + R63 Add R02 = R00 + R01 Multiply R02 = R00 * R01 Compare Bit Shift R00 < R01? R00 << R01 R03 = ~R01... Bit Invert R00 R01 R02 R03 R63 Registers... Registers are very expensive, because they have to be etched directly into the CPU.
9 Main Memory Address Cell or Location Contents 34,359,738,367 (32 MB) We can think of memory as one contiguous line of cells.
10 The Bus The bus is the connection from the CPU to main memory; all data travel along it. CPU Main Memory
11 Loading Data from Main Memory into the CPU I want the contents of 0x12AD36BC. Zzzzz... CPU Main Memory Bus Zzzzz... CPU putt putt putt... Load 0x12AD36BC Main Memory Bus CPU Yikes! Bonk! Load Main Memory 0x12AD36BC Bus There you go! CPU -75 Main Memory Bus I ll put it in R05. CPU Bonk! -75 Zzzzz... Main Memory Bus
12 Cache The CPU runs at, say, 500 MHz. Main Memory transfers run at, say, 100 MHz. So transferring data directly between the CPU and Main Memory is a bottleneck. Cache is a smaller memory that runs at the same speed as the CPU. CPU Cache Main Memory
13 Secondary Storage Nonvolatile: data don t disappear when power is turned off Slower and cheaper than main memory Most are portable: can be easily removed from your computer and taken to someone else s Medium Size Speed Type Can Port- Popular? Drive Media (GB) (MB/sec) write? able? ( ) ( /MB) Hard Disk Mag Yes No Very /MB DVD 17 up to 13 Optic No Yes Not yet Mag Tape 7 1 Mag Yes Yes Yes DVD-RAM 5.2* 2.7 Optic Yes Yes New! Jaz Disk Mag Yes Yes No CDROM 0.63 up to 7 Optic No Yes Very CD-RW R/1.8W Optic Yes Yes No SuperDisk 0.12 up to 0.7 Mag Yes Yes Not very Zip Disk Mag Yes Yes Kind of Floppy Mag Yes Yes Very Cassette «0.001 «1 Mag Yes Yes No Historical Paper Tape «0.001 «1 Paper Once Yes No Historical Punch Card «0.001 «1 Paper Once Yes No Historical Note: all numbers are approximate as of 10 January * DVD-RAM capacity will probably grow to about 15 GB in the next few years. Media Types Magnetic: read/write, but degrade over time and can be erased by magnets Optical: often can t write, but degrade slowly and can t be erased by magnets Paper: forget about it!
14 Software Components SOFTWARE SYSTEM SOFTWARE You buy these. APPLICATION SOFTWARE You write these.
15 Kinds of System Software SYSTEM SOFTWARE OPERATING SYSTEMS MSDOS Windows MacOS PalmOS OS/2 COMPILERS/ INTERPRETERS Fortran 90 C C++ Java Perl FUNCTION LIBRARIES LINPACK BLAS LAPACK HDF NetCDF Unix Linux BSD csh HTML NCAR Graphics AIX HP-UX IRIX... TEXT PROCESSORS SPREAD SHEETS MATH/STATS SYSTEMS DATABASES vi Lotus SAS Oracle pico MS Excel Mathematica Sybase MS Word LaTeX etc. Maple Matlab dbase MS Access
16 A Simple Fortran 90 Program scarecrow 1% cat helloworld.f90!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Program: helloworld!!!!!! Module: main!!!!!! Author: Henry Neeman !!!!!! Class: CS Spring 2000!!!!!! Lab: Sec 013 Fridays 2:30pm!!!!!! Description: Prints the sentence!!!!!! Hello, world. to standard!!!!!! output.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PROGRAM helloworld!! Declarations!! No implicitly typed variables. IMPLICIT NONE!! Execution!! Print the sentence to stdout. PRINT *, Hello, world! END PROGRAM helloworld scarecrow 2% f90 -o helloworld helloworld.f90 scarecrow 3% helloworld Hello, world! scarecrow 4% The Same Program Without Comments PROGRAM helloworld IMPLICIT NONE PRINT *, Hello, world! END PROGRAM helloworld
17 Some Basic Elements of a Fortran Program Comment Block Program statement Tells compiler to make no assumptions about any of the program s variables Program body End statement!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Program: helloworld!!!!!! Module: main!!!!!! Author: Henry Neeman !!!!!! Class: CS Spring 2000!!!!!! Lab: Sec 013 Fridays 2:30pm!!!!!! Description: Prints the sentence!!!!!! Hello, world. to standard!!!!!! output.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PROGRAM helloworld!! Declarations!! No implicitly typed variables. IMPLICIT NONE!! Execution!! Print the sentence to stdout. PRINT *, Hello, world! END PROGRAM helloworld
18 Languages Kinds of Languages Natural Programming Converting Between Programming Languages Compilers Interpreters Assemblers
19 Kinds of Languages Natural Languages Examples: English, Chinese, Swahili, Navajo, Quechua, Maori Typically can be described by formal rules Might not be bound by these rules in everyday use Any noun can be verbed. I might could get me one o them there computers. Can mix words and syntax from multiple languages in one sentence Hey, amigo, is it all right by you if I kibbitz your chess game while I watch your anime? Can be ambiguous When did he say she was going? State the time at which he said, She was going. According to him, at what time was she going? Programming Languages Completely described and bound by formal rules Cannot mix words and syntax from multiple languages Cannot be ambiguous Words and syntax must be EXACTLY correct
20 Programming Language Hierarchy High Level Languages Examples: Fortran, C, Java, HTML Usually are standardized, so can be used on any kind of computer Typically are designed for a particular kind of application e.g., Fortran for scientific applications, C for operating system design, HTML for webpages, SAS for statistics Assembly Language: specific to a particular CPU Set of simple commands (e.g., load a value from a location in memory; add two numbers; store a value into a location in memory) Machine Language: binary code that the CPU understands directly; binary representation of assembly language
21 Converting Between Languages Compilers, interpreters and assemblers are programs that turn programs people can read into programs computers can run. Compiler converts a high level language source code of a program into a machine language executable all at once must be completed before executing the program Examples: Fortran, C Interpreter converts a high level language source code into machine language converts and executes one statement at a time conversion and execution occur while running Examples: Perl, HTML, SAS, Mathematica Assembler converts a CPU-specific assembly code into machine language like a compiler, but low level
22 Our Old Friend helloworld.f90 scarecrow 212% script helloworld.script Script started on Sat Jan 8 12:53: scarecrow 1% cat helloworld.f90!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Program: helloworld!!!!!! Module: main!!!!!! Author: Henry Neeman !!!!!! Class: CS Spring 2000!!!!!! Lab: Sec 013 Fridays 2:30pm!!!!!! Description: Prints the sentence!!!!!! Hello, world. to standard!!!!!! output.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PROGRAM helloworld!! Declarations!! No implicitly typed variables. IMPLICIT NONE!! Execution!! Print the sentence to stdout. PRINT *, Hello, world! END PROGRAM helloworld scarecrow 2% f90 -o helloworld helloworld.f90 scarecrow 3% helloworld Hello, world! scarecrow 4% ctrl-d Script done on Sat Jan 8 12:53: scarecrow 213%
23 Compiling f90 -o helloworld helloworld.f90 F90 Source Code: helloworld.f90 Compiler Assembly Code: helloworld.s Assembler Automatically called by compiler Object File: helloworld.o Linker/Loader Executable: helloworld
24 Compiler Details f90 -o helloworld helloworld.f90 F90 Source Code: helloworld.f90 Compiler Lexical Analysis Parsing Semantic Analysis Intermediate Code Generation Optimization Assembly Code Generation Assembly Code: helloworld.s Assembler Object File: helloworld.o Linker/Loader Executable: helloworld
25 Elements of a Compiler Compiler Lexical Analyzer: identifies program s word elements Comments (ignored) Keywords (e.g., PROGRAM, END) User-defined Identifiers (e.g., helloworld) Operators; e.g. arithmetic: + - * / ** comparisons:.eq..ne..lt..le..gt..ge. array subscripting: ( ) Parser: determines the program s grammar Semantic Analyzer: determines what the program does Intermediate Code Generator: expresses, as an assembly-like program, what the program does Optimizer: makes code more efficient Assembly Code Generator: produces the final assembly code that represents what the program does Assembler: converts assembly code to machine code Linker/Loader: creates the final, executable version of the machine code
26 Compiling a Fortran 90 Statement aplusb = a + b Lexical Analysis IDENTIFIER[aplusb] EQUAL IDENTIFER[a] PLUS IDENTIFIER[b] Parsing ASSIGN VARIABLE EXPRESSION ADD VARIABLE VARIABLE Semantic Analysis ASSIGN(VARIABLE[aplusb],ADDITION(VARIABLE[a],VARIABLE[b])) Intermediate Code Generation Load a into R00 Load b into R01 R02 = R00 + R01 Store R02 into aplusb Assembly Code Generation ld r00,a ld r01,b ad r02,r00,r01 st r02,aplusb
27 Assembly Code for helloworld.f90 on a DEC Alpha Assembly Code for helloworld.f90 on a Pentium III ldah $gp, ($27)!gpdisp!1 unop lda $gp, ($gp)!gpdisp!1 unop ldq $27, for_set_reentrancy($gp)!literal!2 lda $sp, -96($sp) stq $26, ($sp) ldq $16, $$5($gp)!literal!3 jsr $26, ($27), for_set_reentrancy!lituse_jsr!2 ldah $gp, ($26)!gpdisp!4 mov 12, $1 lda $gp, ($gp)!gpdisp!4 ldq $27, for_write_seq_lis($gp)!literal!5 ldq $3, $$7($gp)!literal!6 ldah $18, 901($31) stl $31, 8($sp) stq $1, 72($sp) lda $16, 8($sp) stq $3, 80($sp) mov -1, $17 ldq $19, $$3($gp)!literal!7 lda $18, -256($18) lda $20, 72($sp) jsr $26, ($27), for_write_seq_lis!lituse_jsr!5 ldah $gp, ($26)!gpdisp!8 ldq $26, ($sp) lda $gp, ($gp)!gpdisp!8 mov 1, $0 lda $sp, 96($sp) ret ($26) pushl %ebp movl %esp,%ebp subl $24,%esp movl $.C1_283,%eax movl %eax,(%esp) call pghpf_init movl $14,%eax movl %eax,8(%esp) movl $.C1_297,%edx movl %edx,4(%esp) movl $.C1_300,%ecx movl %ecx,(%esp) call pgf90io_src_info movl $.C1_283,%edx movl %edx,12(%esp) movl %edx,8(%esp) movl $pghpf_0_+8,%eax movl %eax,4(%esp) movl $.C1_301,%ecx movl %ecx,(%esp) call pgf90io_ldw_init movl %eax,-4(%ebp) movl $13,%eax movl %eax,16(%esp) movl $.C1_304,%ecx movl %ecx,12(%esp) movl $.C1_283,%edx movl %edx,8(%esp) movl $.C1_285,%eax movl %eax,4(%esp) movl $.C1_298,%ecx movl %ecx,(%esp) call pgf90io_ldw movl %eax,-4(%ebp) call pgf90io_ldw_end movl %eax,-4(%ebp) movl $.C1_283,%eax movl %eax,(%esp) call pgf90_exit leave ret
28 Assembly Code for helloworld.f90 on a DEC Alpha Using Fortran 90 Assembly Code for helloworld.f90 on a DEC Alpha Using Fortran 95 ldah $gp, ($27)!gpdisp!1 unop lda $gp, ($gp)!gpdisp!1 unop ldq $27, for_set_reentrancy($gp)!literal!2 lda $sp, -96($sp) stq $26, ($sp) ldq $16, $$5($gp)!literal!3 jsr $26, ($27), for_set_reentrancy!lituse_jsr!2 ldah $gp, ($26)!gpdisp!4 mov 12, $1 ================>>> lda $gp, ($gp)!gpdisp!4 ldq $27, for_write_seq_lis($gp)!literal!5 =============================>>> ldq $3, $$7($gp)!literal!6 ldah $18, 901($31) ==========>>> stl $31, 8($sp) stq $1, 72($sp) ==========>>> lda $16, 8($sp) ==========>>> stq $3, 80($sp) ==========>>> mov -1, $17 ==========>>> ldq $19, $$3($gp)!literal!7 lda $18, -256($18) =========>>> lda $20, 72($sp) jsr $26, ($27), for_write_seq_lis!lituse_jsr!5 ldah $gp, ($26)!gpdisp!8 ldq $26, ($sp) lda $gp, ($gp)!gpdisp!8 mov 1, $0 lda $sp, 96($sp) ret ($26) ldah $gp, ($27)!gpdisp!1 unop lda $gp, ($gp)!gpdisp!1 unop ldq $27, for_set_reentrancy($gp)!literal!2 lda $sp, -96($sp) stq $26, ($sp) ldq $16, $$5($gp)!literal!3 jsr $26, ($27), for_set_reentrancy!lituse_jsr!2 ldah $gp, ($26)!gpdisp!4 ldah $18, 388($31) <<<============ lda $gp, ($gp)!gpdisp!4 ldq $27, for_write_seq_lis($gp)!literal!5 mov 12, $1 <<<================== ldq $3, $$7($gp)!literal!6 lda $18, ($18) <<<========= stl $31, 8($sp) lda $16, 8($sp) <<<============= stq $1, 72($sp) <<<============= mov -1, $17 <<<============= stq $3, 80($sp) <<<============= ldq $19, $$3($gp)!literal!7 sll $18, 8, $18 <<<============= lda $20, 72($sp) jsr $26, ($27), for_write_seq_lis!lituse_jsr!5 ldah $gp, ($26)!gpdisp!8 ldq $26, ($sp) lda $gp, ($gp)!gpdisp!8 mov 1, $0 lda $sp, 96($sp) ret ($26)
29 Machine Code for helloworld.f How to Program in Machine Language Directly (1) Write assembly code for the program directly by hand. (2) For each assembly language opcode, look up the associated machine code bit pattern. (3) On the computer console, flip switches to match the machine code. (4) Press the Run button. Actually, on modern computers, programming in machine language directly is just about impossible.
30 Why Not Do Everything in Machine Language? Application Problem Programming in Machine Language Executable Incredibly tedious and ridiculously error-prone! Application Problem Programming in High Level Language Compiling Executable Fun and easy! Not nearly as tedious or error-prone! Why Not Do Everything in Assembly Language? Application Problem Programming in Pentium Assembly Language Can t be run on any other kind of computer. May be completely obsolete in a few years. Compiling for DEC Alpha Executable only for Pentiums Executable for Alphas Application Problem Programming in High Level Language Compiling for Pentium Executable for Pentiums Compiling for SGI/MIPS Executable for SGI/MIPS
31 The Programming Process Formulate Problem Construct Algorithm Choose Programming Language Write Program Compile Bugs? Yes Debug No Run Bugs? Yes No Get an A/Impress Your Boss/Sell for Zillions!
32 A Less Simple Fortran 90 Program!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Program: mynumber!!!!!! Author: Henry Neeman!!!!!! Class: CS Spring 2000!!!!!! Lab: Sec 013 Fridays 2:30pm!!!!!! Description: Asks the user to pick a number within a!!!!!! range, then tells whether the user s number!!!!!! matches the program s.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PROGRAM mynumber!! Declarations!! No implicitly typed variables. IMPLICIT NONE! Parameter constants! minnum: the user s number should be at least this.! minnum: the user s number should be at most this.! mynum: the number that the computer is thinking of. INTEGER,PARAMETER :: minnum = 1, maxnum = 10 INTEGER,PARAMETER :: mynum = 5! Local variable! yournum: the user s chosen number. INTEGER :: yournum!! Execution!! Tell the user the range to choose from. PRINT *, I m thinking of a number between, minnum, & & and, maxnum,.! Ask for the user s number. PRINT *, What number am I thinking of?! Input the user s number. READ *, yournum! Check whether the number is correct. IF ((yournum.lt. minnum).or. (yournum.gt. maxnum)) THEN! Idiotproofing: if it s outside the range, complain. PRINT *, Hey! That s not between, minnum, & & and, maxnum,! ELSE IF (yournum.eq. mynum) THEN! If it s correct, be amazed. PRINT *, That s amazing! ELSE IF (ABS(yournum - mynum).eq. 1) THEN! If they re within 1, say they re close. PRINT *, Close, but no cigar; I had, mynum,. ELSE! Otherwise, be cruel. PRINT *, Bzzzt! My number was, mynum,. ENDIF END PROGRAM mynumber
33 A Less Simple Fortran 90 Program s Output scarecrow 2% f90 -o mynumber mynumber.f90 Linking: scarecrow 3% mynumber I m thinking of a number between 1 and 10. What number am I thinking of? 0 Hey! That s not between 1 and 10! scarecrow 4% mynumber I m thinking of a number between 1 and 10. What number am I thinking of? 2 Bzzzt! My number was 5. scarecrow 5% mynumber I m thinking of a number between 1 and 10. What number am I thinking of? 4 Close, but no cigar; I had 5. scarecrow 6% mynumber I m thinking of a number between 1 and 10. What number am I thinking of? 5 That s amazing! scarecrow 7%
Software Lesson 2 Outline
Software Lesson 2 Outline 1. Software Lesson 2 Outline 2. Languages 3. Ingredients of a Language 4. Kinds of Languages 5. Natural Languages #1 6. Natural Languages #2 7. Natural Languages #3 8. Natural
More informationComponents of a Computer System
Hardware Outline 1. Hardware Outline 2. What is a Computer?/Components of a Computer System 3. Hardware That Computers Typically Have 4. Hardware Components 5. Central Processing Unit (CPU) 6. Central
More informationWhat is Software? Software, for our purposes, is just a word meaning programs. CS1313: Software Lesson Fall
1. Software Outline 2. What is Software? 3. What is a Program? 4. What are Instructions? 5. What is a Programming Language? 6. What is Source Code? What is a Source File? 7. What is an Operating System?
More informationCS : Computer Programming, Spring 2000 Programming Project #1: Thinking of a Number Due in class Thursday 27 January 2000
CS 1313 010: Computer Programming, Spring 2000 Programming Project #1: Thinking of a Number Due in class Thursday 27 January 2000 For online help check the class website http://www.ecn.ou.edu/cs1313010/
More informationSoftware Lesson 1 Outline
Software Lesson 1 Outline 1. Software Lesson 1 Outline 2. What is Software? A Program? Data? 3. What are Instructions? 4. What is a Programming Language? 5. What is Source Code? What is a Source File?
More informationCS150 Introduction to Computer Science 1. What is CS150? Who Are We? CS150 is a programming course You will learn
CS 150 Introduction to Computer Science 1 Professor: Shereen Khoja shereen@pacificu.edu 1 What is CS150? CS150 is a programming course You will learn o The mechanics of writing programs in C++ o How to
More informationCS 241 Data Organization using C
CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am
More informationCS 241 Data Organization. August 21, 2018
CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/
More informationCompilers for Modern Architectures Course Syllabus, Spring 2015
Compilers for Modern Architectures Course Syllabus, Spring 2015 Instructor: Dr. Rafael Ubal Email: ubal@ece.neu.edu Office: 140 The Fenway, 3rd floor (see detailed directions below) Phone: 617-373-3895
More informationComputer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software.
Hardware and Software Computer Basics TOPICS Computer Organization Data Representation Program Execution Computer Languages Computer systems consist of hardware and software. Hardware includes the tangible
More informationECE573 Introduction to Compilers & Translators
ECE573 Introduction to Compilers & Translators Tentative Syllabus Fall 2005 Tu/Th 9:00-10:15 AM, EE 115 Instructor Prof. R. Eigenmann Tel 49-41741 Email eigenman@ecn Office EE334C Office Hours Tu 10:15-11:30
More informationCS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus
Northeastern Illinois University CS 200, Section 1, Programming I, Fall 2017 Syllabus, Page 1 of 7 CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus COURSE INFORMATION: Credit
More informationSyllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)
Syllabus COSC-051-x - Computer Science I Fall 2018 Instructor: Jeremy Bolton, Ph.D. Asst Teaching Professor Department of Computer Science Office: TBD (see Course calendar for office hours) Email: jeremy.bolton@georgetown.edu
More informationToday. An Animated Introduction to Programming. Prerequisites. Computer programming
Today 1 2 3 4 Computer programming What is this course about? We re making several assumptions about you as a student. In particular, we assume that you have: Never taken a programming course before. Have
More informationCPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner
CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536
More informationCS 150 Introduction to Computer Science 1
CS 150 Introduction to Computer Science 1 Professor: Chadd Williams CS150 Introduction to Computer Science 1 Chadd Williams http://zeus.cs.pacificu.edu/chadd chadd@pacificu.edu Office 202 Strain Office
More information14:332:331. Lecture 1
14:332:331 Computer Architecture and Assembly Language Fall 2003 Lecture 1 [Adapted from Dave Patterson s UCB CS152 slides and Mary Jane Irwin s PSU CSE331 slides] 331 W01.1 Course Administration Instructor:
More informationCPS104 Computer Organization Lecture 1
CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536
More informationCSE 504: Compiler Design
http://xkcd.com/303/ Compiler Design Course Organization CSE 504 1 / 20 CSE 504: Compiler Design http://www.cs.stonybrook.edu/~cse504/ Mon., Wed. 2:30pm 3:50pm Harriman Hall 116 C. R. Ramakrishnan e-mail:
More informationCSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I
CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I Lecture 1: Class Introduction DR. BO TANG ASSISTANT PROFESSOR HOFSTRA UNIVERSITY 1 9/7/16 CSC15 - Python OUTLINE What is Computer Science? What is this Class
More informationCS 3030 Scripting Languages Syllabus
General Information CS 3030 Scripting Languages Semester: Fall 2017 Textbook: Location: Instructor Info: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu
More informationCS/SE 153 Concepts of Compiler Design
San José State University Department of Computer Science CS/SE 153 Concepts of Compiler Design Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email: Website: Office Hours:
More informationCSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209
CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System
More informationAdministration Computers Software Algorithms Programming Languages
Administration Computers Software Algorithms Programming Languages http://www.cs.sfu.ca/cc/130/johnwill/ This course does not use Canvas John Edgar 3 Come to class Read ahead Attend the labs You get practice
More informationWelcome to Solving Problems with Computers I
Welcome to Solving Problems with Computers I CS 16: Solving Problems with Computers I Lecture #1 Ziad Matni Dept. of Computer Science, UCSB Image from agorolabs on slideshare.com A Word About Registration
More information3D Graphics Programming Mira Costa High School - Class Syllabus,
3D Graphics Programming Mira Costa High School - Class Syllabus, 2009-2010 INSTRUCTOR: Mr. M. Williams COURSE GOALS and OBJECTIVES: 1 Learn the fundamentals of the Java language including data types and
More informationOutline of Fortran 90 Topics
Outline of Fortran 90 Topics Overview of Computing Computer Organization Languages Problem Solving Data Fortran 90 Character Set Variables Basic Data Types Expressions Numeric Non-numeric Control Structures
More informationCS/SE 153 Concepts of Compiler Design
San José State University Department of Computer Science CS/SE 153 Concepts of Compiler Design Section 1 Fall 2018 Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email: ron.mak@sjsu.edu
More informationAnnouncements. 1. Forms to return today after class:
Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.
More informationCS503 Advanced Programming I CS305 Computer Algorithms I
Syllabus: CS503 Advanced Programming I CS305 Computer Algorithms I Course Number: CS503-50/CS305-50 Course Title: Advanced Programming I/Computer Algorithms I Instructor: Richard Scherl Office: Howard
More informationECE Object-Oriented Programming using C++ and Java
1 ECE 30862 - Object-Oriented Programming using C++ and Java Instructor Information Name: Sam Midkiff Website: https://engineering.purdue.edu/~smidkiff Office: EE 310 Office hours: Tuesday, 2:30 to 4:00
More informationESET 349 Microcontroller Architecture, Fall 2018
ESET 349 Microcontroller Architecture, Fall 2018 Syllabus Contact Information: Professor: Dr. Byul Hur Office: 008 Fermier Telephone: (979) 845-5195 FAX: E-mail: byulmail@tamu.edu Web: rftestgroup.tamu.edu
More informationSpring 2018 El Camino College E. Ambrosio. Course Syllabus
Course Syllabus Division: Mathematical Sciences Course Title: Computer Programming in Java Course #/Sections: CS 3/0127, 0128 Credit Hours: 4 Course Time/Room: Lecture: TTh 6:25 7:50 P.M./MBA 213 Lab:
More informationCleveland State University
Cleveland State University CIS 260/500 Introduction to Programming (4 credits). Spring 2015 Section 2/ 50 Class Nbr. 1810/1855 Tue, Thu 12:30 PM 2:20 PM Section 2/ 50 Class Nbr. 1813/1856. Tue, Thu 4:00
More informationSan José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 3 & 4, Fall Semester, 2016
Course and Contact Information San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 3 & 4, Fall Semester, 2016 Instructor: Office Location:
More informationComputer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen
Computer Technology Division Course Syllabus for: COMT 11009 Spring 2013 Instructor: Joe Bolen Course: Computer Assembly & Configuration COMT 11009 Spring 2013 / Tuscarawas / Call # 12133 / Section 800
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Course and contact information Instructor: Ron Mak Office Location: ENG 250 Email: Website: Office Hours: Section 4
More information! Learn how to think like a computer scientist. ! Learn problem solving. ! Read and write code. ! Understand object oriented programming
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to Computing and Programming with Java: A Multimedia
More informationC Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006
C Compilation Model Comp-206 : Introduction to Software Systems Lecture 9 Alexandre Denault Computer Science McGill University Fall 2006 Midterm Date: Thursday, October 19th, 2006 Time: from 16h00 to 17h30
More informationLecture 01: Basic Structure of Computers
CSCI2510 Computer Organization Lecture 01: Basic Structure of Computers Ming-Chang YANG mcyang@cse.cuhk.edu.hk Reading: Chap. 1.1~1.3 Outline Computer: Tools for the Information Age Basic Functional Units
More informationCOSC 115A: Introduction to Web Authoring Fall 2014
COSC 115A: Introduction to Web Authoring Fall 2014 Instructor: David. A. Sykes Class meetings: TR 1:00-2:20PM in Daniel Building, Room 102 Office / Hours: Olin 204E / TR 8:00-10:45AM, MWF 9:00 10:20AM,
More informationInstructors. ECE 152 Introduction to Computer Architecture. Undergrad Teaching Assistants. Course Website. Textbook.
Instructors ECE 152 Introduction to Computer Architecture Intro and Overview Copyright 2005 Daniel J. Sorin Duke University Slides are derived from work by Amir Roth (Penn) and Alvy Lebeck (Duke) Spring
More informationComputer Principles and Components 1
Computer Principles and Components 1 Course Map This module provides an overview of the hardware and software environment being used throughout the course. Introduction Computer Principles and Components
More informationCS 3030 Scripting Languages Syllabus
General Information CS 3030 Scripting Languages Semester: Summer 2013 Textbook: Location: Instructor Info: Website: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu
More informationSan José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2 Spring Semester, 2018
Course and Contact Information San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2 Spring Semester, 2018 Instructor: Office Location:
More informationIntroduction to Computer Systems
Introduction to Computer Systems Today: Welcome to EECS 213 Lecture topics and assignments Next time: Bits & bytes and some Boolean algebra Fabián E. Bustamante, Spring 2010 Welcome to Intro. to Computer
More informationCS232: Computer Architecture II
CS232: Computer Architecture II Spring 23 January 22, 23 21-23 Howard Huang 1 What is computer architecture about? Computer architecture is the study of building entire computer systems. Processor Memory
More informationCOMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web
COMP 117: Internet Scale Distributed Systems (Spring 2018) COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah
More informationOperating Systems Course Overview
Operating Systems Course Overview Instructor: Kartik Gopalan Class website: http://oscourse.github.io Interfaces in a Computer System (1) User-level processes (2) (3) Libraries Operating System (4) (5)
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Section 1 (Class) Sections 2 and 3 (s) Fall 2018 Course and Contact Information Instructor: Ron Mak Office Location:
More informationEECE 321: Computer Organization
EECE 321: Computer Organization Mohammad M. Mansour Dept. of Electrical and Compute Engineering American University of Beirut Lecture 1: Introduction Administrative Instructor Dr. Mohammad M. Mansour,
More informationLecture 1. Course Overview Types & Expressions
Lecture 1 Course Overview Types & Expressions CS 1110 Spring 2012: Walker White Outcomes: Basics of (Java) procedural programming Usage of assignments, conditionals, and loops. Ability to write recursive
More informationCS240: Programming in C
CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Section 1 (Class) Sections 2 and 3 (Labs) Spring 2019 Course and Contact Information Instructor: Ron Mak Office Location:
More informationSyllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours
I n f o r m a t i o n a n d C o m p u t e r S c i e n c e D e p a r t m e n t Syllabus ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) Course Website: Blackboard CE 8 (WebCT) http://webcourses.kfupm.edu.sa/
More informationFundamentals of Programming (Python) Basic Concepts. Ali Taheri Sharif University of Technology Spring 2018
Fundamentals of Programming (Python) Basic Concepts Ali Taheri Sharif University of Technology Outline 1. What is a Computer? 2. Computer System Organization 3. What is a Computer Program? 4. Programming
More informationC Programming for Engineers Introduction
C Programming for Engineers Introduction ICEN 360 Spring 2017 Prof. Dola Saha 1 Introductions Instructor Prof. Dola Saha, PhD University of Colorado Boulder http://www.albany.edu/faculty/dsaha/ dsaha@albany.edu
More informationCourse and Unix Intro
Course and Unix Intro Comp-206 : Introduction to Software Systems Lecture 1 Alexandre Denault Computer Science McGill University Fall 2006 Instructor Alexandre Denault Graduate student, working in the
More informationPELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS CIW JAVASCRIPT FUNDAMENTALS CERTIFICATION WEB 2391
PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS CIW JAVASCRIPT FUNDAMENTALS CERTIFICATION WEB 2391 Class Hours: 1.0 Credit Hours: 1.0 Laboratory Hours: 0.0 Revised: Fall 06 Note: This course
More informationCS Compiler Construction West Virginia fall semester 2014 August 18, 2014 syllabus 1.0
SYL-410-2014C CS 410 - Compiler Construction West Virginia fall semester 2014 August 18, 2014 syllabus 1.0 Course location: 107 ERB, Evansdale Campus Course times: Tuesdays and Thursdays, 2:00-3:15 Course
More informationChris Riesbeck, Fall Introduction to Computer Systems
Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck
More informationCSC116: Introduction to Computing - Java
CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Course Instructor: Instructors
More informationCS 4120 and 5120 are really the same course. CS 4121 (5121) is required! Outline CS 4120 / 4121 CS 5120/ = 5 & 0 = 1. Course Information
CS 4120 / 4121 CS 5120/5121 Introduction to Compilers Fall 2011 Andrew Myers Lecture 1: Overview Outline About this course Introduction to compilers What are compilers? Why should we learn about them?
More informationCSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209
CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System
More informationPharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah
The kinds of memory:- 1. RAM(Random Access Memory):- The main memory in the computer, it s the location where data and programs are stored (temporally). RAM is volatile means that the data is only there
More informationCSCE150A. Administrivia. Overview. Hardware. Software. Example. Program. Pseudocode. Flowchart. Control Structures. Hello World Program CSCE150A
Computer Science & Engineering 150A Problem Solving Using Computers Lecture 01 - Course Introduction Stephen Scott (Adapted from Christopher M. Bourke) Roll Syllabus Course Webpage: http://cse.unl.edu/~sscott/teach/classes/cse150af09/
More informationComputer Science & Engineering 150A Problem Solving Using Computers
Computer Science & Engineering 150A Problem Solving Using Computers Lecture 01 - Course Introduction Stephen Scott (Adapted from Christopher M. Bourke) 1 / 43 Fall 2009 Roll Syllabus Course Webpage: http://cse.unl.edu/~sscott/teach/classes/cse150af09/
More informationComputing and compilers
Computing and compilers Comp Sci 1570 to Outline 1 2 3 4 5 Evaluate the difference between hardware and software Find out about the various types of software Get a high level understanding of how program
More informationComputer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software.
Hardware and Software Computer Basics TOPICS Computer Organization Data Representation Program Execution Computer Languages Computer systems consist of hardware and software. Hardware includes the tangible
More informationCOMP-202: Foundations of Programming. Lecture 2: Java basics and our first Java program! Jackie Cheung, Winter 2015
COMP-202: Foundations of Programming Lecture 2: Java basics and our first Java program! Jackie Cheung, Winter 2015 Assignment Due Date Assignment 1 is now due on Tuesday, Jan 20 th, 11:59pm. Quiz 1 is
More informationComputer Organization
Chapter 5 Computer Organization Figure 5-1 Computer hardware :: Review Figure 5-2 CPU :: Review CPU:: Review Registers are fast stand-alone storage locations that hold data temporarily Data Registers Instructional
More informationComputers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker
Computers in Engineering COMP 208 Computer Structure Michael A. Hawker Computer Structure We will briefly look at the structure of a modern computer That will help us understand some of the concepts that
More informationCSC116: Introduction to Computing - Java
CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Intro to CSC116 Instructors Course Instructor:
More informationCompilers. Computer Science 431
Compilers Computer Science 431 Instructor: Erik Krohn E-mail: krohne@uwosh.edu Text Message Only: 608-492-1106 Class Time: Tuesday & Thursday: 9:40am - 11:10am Classroom: Halsey 237 Office Location: Halsey
More informationChapter One. Introduction to Computer System
Principles of Programming-I / 131101 Prepared by: Dr. Bahjat Qazzaz -------------------------------------------------------------------------------------------- Chapter One Introduction to Computer System
More informationMPATE-GE 2618: C Programming for Music Technology. Syllabus
MPATE-GE 2618: C Programming for Music Technology Instructor Dr. Schuyler Quackenbush schuyler.quackenbush@nyu.edu Lab Teaching Assistant TBD Description Syllabus MPATE-GE 2618: C Programming for Music
More informationCS 113: Introduction to
CS 113: Introduction to Course information MWF 12:20-1:10pm 1/21-2/15, 306 Hollister Hall Add/drop deadline: 1/28 C Instructor: David Crandall See website for office hours and contact information Prerequisites
More informationThe Programming Process Summer 2010 Margaret Reid-Miller
The Programming Process 15-110 Margaret Reid-Miller Hardware Components Central Processing Unit (CPU) Program control Arithmetic/logical operations Coordinates data movement between memory and registers
More informationCS241 Computer Organization Spring Introduction to Assembly
CS241 Computer Organization Spring 2015 Introduction to Assembly 2-05 2015 Outline! Rounding floats: round-to-even! Introduction to Assembly (IA32) move instruction (mov) memory address computation arithmetic
More informationKOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)
Programming Concepts & Algorithms Course Syllabus Course Title Course Code Computer Department Pre-requisites Course Code Course Instructor Programming Concepts & Algorithms + lab CPE 405C Computer Department
More informationAn Introduc+on to Computers and Java CSC 121 Spring 2017 Howard Rosenthal
An Introduc+on to Computers and Java CSC 121 Spring 2017 Howard Rosenthal Lesson Goals Learn the basic terminology of a computer system Understand the basics of high level languages, including Java Understand
More informationWeek 0: Intro to Computers and Programming. 1.1 Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components
Week 0: Intro to Computers and Programming Gaddis: Sections 1.1-3 and 2.1 CS 1428 Fall 2014 Jill Seaman 1.1 Why Program? Computer programmable machine designed to follow instructions Program instructions
More informationCSCI 565 Compiler Design and Implementation Spring 2014
CSCI 565 Compiler Design and Implementation Spring 2014 Instructor: Description: Prerequisites: Dr. Pedro C. Diniz, e-mail pedro@isi.edu Lectures: Thursday, 8.00 10.50 AM, RTH 217, phone: (213) 740 4518
More informationVE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis
VE281 Data Structures and Algorithms Introduction and Asymptotic Algorithm Analysis Time and Location Time: Tuesday 10:00-11:40 am, Thursday 10:00-11:40 am. Location: Dong Xia Yuan 200 2 Instructor Weikang
More informationIntroduction to Computer Systems
CS-213 Introduction to Computer Systems Yan Chen Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F 06 Teaching staff Instructor TA Prof. Yan Chen (Thu 2-4pm, Tech
More informationCISN 340 Data Communication and Networking Fundamentals Fall 2012 (Hybrid)
CISN 340 Data Communication and Networking Fundamentals Fall 2012 (Hybrid) Instructor: Kevin M. Anderson, MBA, CCAI, MCSE, MCDBA, Office Phone: (916) 650-2926 CNE, LCP, CIW Associate, Security+, N +, A
More informationPrinciples of computer programming. Profesor : doc. dr Marko Tanasković Assistent : doc. dr Marko Tanasković
Principles of computer programming Profesor : doc. dr Marko Tanasković Assistent : doc. dr Marko Tanasković E-mail: mtanaskovic@singidunum.ac.rs Course organization Lectures: Presentation of concepts and
More informationNew York City College of Technology/CUNY Department of Computer Systems Technology. CST2400 Computer System Management and Support 4 hours 3 credits
New York City College of Technology/CUNY Department of Computer Systems Technology CST2400 Computer System Management and Support 4 hours 3 credits Instructor: Office Phone: Office Hours: Class Meetings:
More informationSyllabus of ENPM 691: Secure Programming in C
Syllabus of ENPM 691: Secure Programming in C Spring Semester 2018 Instructor: Dharmalingam Ganesan, PhD Contact: dganesan@umd.edu Class hours: Thursday 7:00 PM to 9:40 PM Class location: TBA Course Description:
More informationWelcome to Computer Organization and Design Logic
Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Fall 2018 Ziad Matni, Ph.D. Dept. of Computer Science, UCSB A Word About Registration for CS64
More informationAgenda Computer Hardware Input Devices Output Devices Secondary Storage Computer Software System Software Application Software Working with Windows
Agenda Computer Hardware Input Devices Output Devices Secondary Storage Computer Software System Software Application Software Working with Windows A Computer is a device which allows you to Input raw
More informationCS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)
CS61C Machine Structures Lecture 1 Introduction 8/27/2006 John Wawrzynek (Warzneck) (http://www.cs.berkeley.edu/~johnw/) http://www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L01 Introduction (1) What are Machine
More informationIntroduction to Basis and Practice in Programming
Introduction to Basis and Practice in Programming Fall 2015 Jinkyu Jeong (jinkyu@skku.edu) 1 Course Overview Course Basics! Class hour GEDB029-45: Mon. 13:00 ~ 14:50 GEDB029-46: Tue. 13:00 ~ 14:50 1~2
More informationBasic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh
Basic Concepts COE 205 Computer Organization and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals [Adapted from slides of
More informationIntroduction to Computer Systems
Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer
More informationCPSC 213. Introduction to Computer Systems. About the Course. Course Policies. Reading. Introduction. Unit 0
About the Course it's all on the web page... http://www.ugrad.cs.ubc.ca/~cs213/winter1t1/ - news, admin details, schedule and readings CPSC 213 - lecture slides (always posted before class) - 213 Companion
More informationCS 240 Fall 2015 Section 004. Alvin Chao, Professor
CS 240 Fall 2015 Section 004 Alvin Chao, Professor Today Course overview Data Structures / Algorithms Course policies The C language Motivation Computers are digital Data is stored in binary format (1's
More information378: Machine Organization and Assembly Language
378: Machine Organization and Assembly Language Spring 2010 Luis Ceze Slides adapted from: UIUC, Luis Ceze, Larry Snyder, Hal Perkins 1 What is computer architecture about? Computer architecture is the
More informationUpdated: 2/14/2017 Page 1 of 6
MASTER SYLLABUS 2017-2018 A. Academic Division: Business, Industry, and Technology B. Discipline: Engineering Technology C. Course Number and Title: ENGR1910 Engineering Programming D. Course Coordinator:
More informationCS 0449 Intro to Systems Software Fall Term: 2181
CS 0449 Intro to Systems Software Fall Term: 2181 Class Recitation Recitation Recitation Time: 11:00am 12:15pm 03:00pm 03:50pm 10:00am 10:50am 09:00am 09:50am Days: TH T W F Number 19730 20024 19731 27127
More information