253 introduction
 jbwyatt.com

Readings: Grades , Cheating , CAP card , FAQ , Class Page


.. Who, What, Where...


Joseph Wyatt

www.jbwyatt.com     wyatt@clarion.edu     wyattwyatt@gmail.com

141 Becker Hall
814.393.2643


Computer Information Science (CIS) Department

CS Major     IS Major     CS & IS Minors

Clarion University:  www.clarion.edu

CIS Department: cis.clarion.edu

 Chair:     Susan Traynor
 Secretary: Nancy Harriger

 130 Becker Hall (campus map)
Phone: 814.393.2442 Fax: 814.393.2186

.. Why Computers? (One word: information)

   In the Information Age, information is a key component of our economy.

   Why computers?
      Staggering growth in the volume of information
      Speed at which that information must be manipulated
      Example: intelligence

   Programming / Software Engineering is a very lucrative career.
      Money
      Demand
      Perks
      Satisfaction
      Creativity
      Freedom
      

        Government Projections: BLS



Why are there so few majors and even fewer graduates??

Building software is HARD!!

--------------------------------------------------------------------------- "Software is hard," reads the quote that opens Rosenberg's Dreaming in Code. Why is software in a never-ending state of crisis? Why do most projects end up horribly over-budget or cancelled or both? Why can't we ship code without bugs? Why, everyone asks, can't we build software the same way we build bridges? --------------------------------------------------------------------------- "There are very few success stories," said a former deputy chief information officer at the Pentagon. "Failures are very common, and they've been common for a long time." --------------------------------------------------------------------------- The IRS sought $388 million last year for its $1.7 billion "Business System Modernization" program, which is over budget and 15 months late. --------------------------------------------------------------------------- The FAA has doubled its cost estimates to $1.69 billion for its "Standard Terminal Automation Replacement System" since 1996. --------------------------------------------------------------------------- "Ever since there's been IT (information technology), there have been problems," said a Washington bureau chief. This is difficult."

.. Why Clarion? (CIS, CS, IS)


CIS Department

CIS is a department that offers two majors: (There is no "CIS major". )
     CS : BSCS (Computer Science)
     IS : BSIS (Information Systems)

Students graduate from our programs with a solid education and get very good jobs with such outstanding employers as Raytheon, E-Systems, Lockheed Martin, IBM, Mellon Bank, America Online and EDS.
Many students prefer to work for smaller companies, school districts, local governments and state governments.

CS Major

Computer Science (CS): B.S. , 58 credits Required: CIS 163 Intro to Programming & Algorithms I (C++) CIS 244 Intro to Programming & Algorithms II (C++) CIS 253 Computer Org and Assembly Language CIS 254 Data Structures CIS 306 Object-Oriented Programming (Java) CIS 350 Computer Architecture CIS 355 Operating Systems CIS 356 Algorithm Analysis CIS 375 Software Engineering CIS 411 Systems Development Project CIS 460 Prog Languages & Theory of Computation MATH 140, 270, ECON 221, PHIL 311 12 credits of electives in CIS courses 300-level or above.
  • CS might best be described as preparing the students to become experts in the making of the tools (software) that others use to solve problems.

  • CS students study the programming and low-level aspects of the computer. Courses include Data Structures, Computer Architecture, Software Engineering and Operating Systems in addition to classes in C#, C++, Assembly and Java.

  • IS Major

    Information Systems (IS): B.S., 63 credits
    Required:
       CIS 110 Intro to Computer Info Systems
       CIS 202 Event-Driven programming (VB)
       CIS 206 Intro to Java Programming (Java)
       CIS 217 Applications of Microcomputers
       CIS 301 Systems Analysis
       CIS 303 Local Area Networks
       CIS 317 Microcomputer Maintenance
       CIS 330 Advance Event-Driven Programming (VB)
       CIS 402 Data Base
       CIS 403 Data Communications
       CIS 411 Systems Development Project
       MATH 131, 232
       ECON 211, 212, 221;
       ACTG 251, 252; FIN 370, MGMT 320, MKTG 360
    
    Nine credits of electives in CIS courses 300-level or above.
    

  • IS might best be described as preparing the student to become experts in the use of the tool (the computer) as a key component used in complex systems that solve problems in the real world.

  • IS is a business-oriented computing curriculum. IS students study the use and programming of computers in a business environment. Courses include Programming, Applications of Microcomputers, Data Communications, LAN, Systems Analysis and Database Systems. Languages include C# & Java

  • .. Computing Needs (Visual Studio, Web Drive)

  • The Becker lab has everything you need - you DON'T NEED a home computer!

  • emu8086

  • emulator for intel processor
  • emu 8086 web site

  • Visual Studio

  • Will create & compile code that will run on your typical Windows/Intel desktop
  • visual studio is a simple, totally FREE Microsoft product that will allow you to create, compile and execute programs.

  • Web Drive / Fire FTP

  • Web drive allows you to hand in some assignments electronically
  • Using firefox along with fireftp is an alternate to webdrive

  • Notepad++

    Notepad++ (free download) A syntax-sensitive editor. Good for console programs.

    Mono

    mono c# Another compiler for C#

    Computer Center

  • The Computer Center has much information about campus computer use
  • The "HelpDesk" has specific student-oriented info at Student Computer Info
    You can e-mail help desk with your question or call 393-2640.


  • Learn OO programming: alice (CMU)
    Learn procedural programming: scratch (MIT)
    Free: cup msdn
    Free: cup downloads

    . What should you know about this class?


  • It's HARD!
  • Take Attendance
  • Class Web Page - jbwyatt.com/253
  • Syllabus, notes, links, files, faq - cis 253 link from web page
  • Analyzing and solving problems
  • Significant effort!
  • Need to attend class
  • Need to READ the BOOK!

  • I welcome questions & discussion, but individual conversations distract others and really bug me
  • If you miss class, it is YOUR responsibility to get missed material
  • I will take attendance - seating chart next class
  • Please turn cell phones OFF before class!

  • . What will we study?

    Objective 1

    • Familiarize student with computer organization
    • Basic hw issues : CPU, RAM, SS, I/O, cache, bus



    • Understand "computer" math: Base 2, Base 16, Base 10
    • Example: 20d = 14h = 00010100b will be stored in a single byte (8 bits) in RAM and will be represented by 8 microscopic "switches" that are either on or off

    • How many things can be stored in 8 bits? 16? 32?
    • How many bytes are needed to store 1000x1000 pixel image with 65,536 colors?
    • How do you distinguish an ascii 'A' from the number, 65?
    • When are addresses treated as data?
    • What does the number 12AF mean? Why do we do write numbers like that?


    Objective 2

    • Learn to program is assembly
    • TITLE Add and Subtract, Version 2         (AddSub2.asm)
      ; This program adds and subtracts 32-bit integers
      ; and stores the sum in a variable.  Last update: 2/1/02
      INCLUDE Irvine32.inc
      .data
      val1        dword  10000h  ;4 bytes of storage initialized
      val2        dword  40000h
      val3        dword  20000h
      finalVal  dword  ?
      .code
      main PROC
      	mov eax, val1		; start with 10000h
      	add eax, val2		; add 40000h
      	sub eax, val3		; subtract 20000h
      	mov finalVal, eax	; store the result (30000h)
      	call DumpRegs	; display the registers
      	exit
      main ENDP
      END main
      =========================================================
      Why Assembly?
      Applications
      Device drivers, Games, Embedded apps
      Speed up apps (ex: write directly to I/O port vs. system call)
      Understanding 
      Understand program translation & execution
      Understand HW
      Understand SW / HW interaction
      Understand high level programming / debug
      Sophistication
      Real computer scientist
      See under the covers
      
      note 8/24/07 (iphone cracked): ... Here how the bootrom check works; it reads from 0xA0000030 0xA000A5A0 0xA0015C58 0xA0017370 and all these addresses must read as blank, or 0xFFFFFFFF. When you erase flash, it becoms 0xFFFFFFFF. But you can't erase those locations, because they are in the bootloader. So thats where the testpoint comes in. Pulling A17 high hardware OR's the address bus with 0x00040000(offset one because data bus is 16 bit) So the bootrom instead checks locations 0xA0040030 0xA004A5A0 0xA0045C58 0xA0047370, which are in the main firmware and can be erased. Pretty genius :) =================================== =================================== so WE should see that address 0xA000A5A0 becomes 0xA004A5A0...