CISC 124: Introduction To Moodle vs. Web Site Computing Science II - - PowerPoint PPT Presentation

cisc 124 introduction to moodle vs web site computing
SMART_READER_LITE
LIVE PREVIEW

CISC 124: Introduction To Moodle vs. Web Site Computing Science II - - PowerPoint PPT Presentation

CISC 124: Introduction To Moodle vs. Web Site Computing Science II instructor: Margaret Lamb Web site on CISC server: http://cs.queensu.ca/home/cisc124/ index_w14.html course web site: www.cs.queensu.ca/home/cisc124 office : Goodwin 554 Option


slide-1
SLIDE 1

CISC 124, winter 2014, set 1: introduction 1

CISC 124: Introduction To Computing Science II

instructor: Margaret Lamb course web site: www.cs.queensu.ca/home/cisc124

  • ffice: Goodwin 554
  • ffice hour this week:

Monday 12-1 Wednesday 2-3 Friday 1-2 vote on Moodle for office hours for rest of term

CISC 124, winter 2014, set 1: introduction 2

Moodle vs. Web Site

Web site on CISC server: http://cs.queensu.ca/home/cisc124/index_w14.html Option 1:

  • Read web site for basic information

(content/admin)

  • Go to Moodle for extras (forums, etc.)

Option 2:

  • Use Moodle as front page (links to everything in

web page)

CISC 124, winter 2014, set 1: introduction 3

Reading Assignment For Wednesday

Read administrative info on web site. Pay special attention to syllabus & bring questions to class on Wednesday. Look at schedule, tell me about any problems with quiz dates

CISC 124, winter 2014, set 1: introduction 4

Reading Assignment For Friday

Chapters 1-3 of the Java text. See web site for sections you may skip. Complete Moodle survey about the reading by noon on Friday. I expect you to:

  • Do readings as assigned.
  • Complete surveys to tell me your reactions.
slide-2
SLIDE 2

CISC 124, winter 2014, set 1: introduction 5

Marking Scheme

quizzes (best 3 of 4): 50% final exam: 34% assignments (best 7 of 8): 10% participation: 6% (questionnaires, forums, in-class activities) You must pass quizzes+final exam to pass the course.

CISC 124, winter 2014, set 1: introduction 6

Academic Integrity

  • Everything you hand in must be your own work

(assignments, quizzes, final)

  • Exception: may do assignments in group (2-4 students),

all names must be on submission

  • Why?
  • It's only fair!
  • Queen's reputation, value of degrees

CISC 124, winter 2014, set 1: introduction 7

  • Gaining more programming experience
  • Learning about Object-Oriented Programming (OOP)

Language used: Java

What's This Course About?

CISC 124, winter 2014, set 1: introduction 8

Predecessors:

  • CPL, BCPL (1960s)
  • B (1969)
  • C (early 1970s)
  • C++ (1980s, object-oriented)

A Brief History of Java

Java:

  • Sun Microsystems (now part of Oracle)
  • first public version 1995
  • design team led by Jim Gosling (Canadian!)
  • initial target: embedded systems
  • goals included: portability & reliability
  • 1994: World Wide Web!
slide-3
SLIDE 3

CISC 124, winter 2014, set 1: introduction 9

Computers speak machine language – binary codes for very simple operations. Very cumbersome for humans to read and write! No standard: every make/model has its own language.

Computer Languages & Translation

Assembly Language:

  • Symbolic form of machine language
  • Easier for humans to handle
  • Simple program ("assembler") translates to machine

language

  • Still involves a lot of detail
  • Still machine-dependent

CISC 124, winter 2014, set 1: introduction 10

Idea: Languages that are closer to the way we think: logic, data types, mathematical notation

High-Level Languages

Advantages:

  • Easier/faster to read & write
  • Can be translated into different machine languages

Disadvantages:

  • Needs a complicated translation program
  • Not always completely portable – depends on

language design and translation programs

CISC 124, winter 2014, set 1: introduction 11

  • Interpreter (Python, Basic)
  • Compiler (C, C++)
  • Hybrid Approach (Java)

Translation Methods

CISC 124, winter 2014, set 1: introduction 12

Reads & executes a program in a high-level language.

  • Read a line or statement
  • Figure out what it means
  • Make it happen
  • Repeat!

Interpreter

Python Program Python Interpreter input to program

  • utput of

program

slide-4
SLIDE 4

CISC 124, winter 2014, set 1: introduction 13

Reads a program in a high-level language. Creates an equivalent program in machine language.

Compiler

C Program C Compiler input to program machine language program

Step 1: Step 2:

machine language program

  • utput of

program

CISC 124, winter 2014, set 1: introduction 14

Pros & Cons

Need For Extra Program:

  • Compiler: Program is compiled once. You don't need the

compiler to run the program.

  • Interpreter: You need the interpreter each time you run the

program. Efficiency: Interpreted languages traditionally viewed as less

  • efficient. Changing with clever new technology ("just in time"

compilation). Portability:

  • Compilers: You need to write a compiler for every

"platform" (hardware & OS)

  • Interpreters: Not always necessary

Both: Great care is needed to make a language truly portable (same results on all kinds of computers)

CISC 124, winter 2014, set 1: introduction 15

JVM = Java Virtual Machine A hypothetical computer "Bytecode": the machine language of the JVM. Designed to suit the Java language, still pretty low-level.

Java's Hybrid Approach

Java Program (.java) Java Compiler bytecode program (.class)

Step 1: (once) Step 2: (every time you run the program)

bytecode program (.class) Java Interpreter Program Output Program Input