Computing - Java Intro to CSC116 Course Information - - PowerPoint PPT Presentation

computing java intro to csc116
SMART_READER_LITE
LIVE PREVIEW

Computing - Java Intro to CSC116 Course Information - - PowerPoint PPT Presentation

CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Schedule Computing Environment AFS (Andrew File System) Linux/Unix Commands Helpful Tricks


slide-1
SLIDE 1

CSC116: Introduction to Computing - Java

slide-2
SLIDE 2

Intro to CSC116

Course Information

  • Introductions
  • Website
  • Syllabus
  • Schedule

Computing Environment

  • AFS (Andrew File System)
  • Linux/Unix Commands
  • Helpful Tricks

Computers First Java Program

  • Text Editor
  • Remote Access
  • Java Download
slide-3
SLIDE 3

Instructors

  • Course Instructor:

– Mrs. Michelle Glatz, mlglatz@ncsu.edu

  • Office Hours: Tues/Thurs 5:00 – 6:00 in DAN 200 and by

appointment

  • Email used to set up appointments
  • Support email: group-csc116-glatz+007@ncsu.edu
  • TAs:

– Varsha Gopal, vgopal2@ncsu.edu

  • Office Hour: Fridays 11am–12pm in Daniels 200

– Brenden Lech, bglech@ncsu.edu

  • Office Hour: Wednesdays 5 – 6 pm in Daniels 200
slide-4
SLIDE 4

Office Hours

  • CSC116 Office Hours:

– http://go.ncsu.edu/csc116teachingstaffofficehours

  • We will use My Digital Hand during
  • ffice hours to manage questions:

– http://mydigitalhand.org – You should have received an email invite – Please register now

slide-5
SLIDE 5

Textbook

  • Building Java Programs

A Back to Basics Approach 4th Edition Reges and Stepp

  • NCSU CSC Department, Style Guidelines
slide-6
SLIDE 6

Course Website

Moodle login page: http://wolfware.ncsu.edu

Moodle Course Page (direct link)

– course materials – submit coursework – feedback returned – grade book

slide-7
SLIDE 7

Moodle

  • Syllabus Link

– Syllabus

  • Schedule Link

– Schedule

– In class exercise due before end of class – Other lab exercises due on Sunday night

  • Assignments due at 11:45 pm
slide-8
SLIDE 8

Course Structure

  • The course structure is a mixture of

lecturing and practicing as we go through material.

  • The idea is to reinforce the learning of new

material with hands on experience using it right away.

slide-9
SLIDE 9

Exercises

  • In-class: Group assignments completed in-class.

Similar to examples

  • Lab: Apply new concepts. Due Weekly.
  • Practice-It! Exercises: Every 2 chapters turn in

list of problems solved as Homework (screenshot pdf: cntrl-P, capture your userid)

– https://practiceit.cs.washington.edu/

– create an account – choose a problem from list – Type a solution and submit it. – The system will test it and tell you whether your solution is correct.

slide-10
SLIDE 10

Programming Assignments

  • There will be 6 programming projects in

addition to the Lecture Exercises.

  • MUST BE DONE INDIVIDUALLY!!
slide-11
SLIDE 11

Academic Integrity

  • Do your own work (projects)

– Don’t copy from outside resources (don’t google it!) – Don’t look at other student’s code – Don’t show your code to another student

  • See syllabus for violation penalties
slide-12
SLIDE 12

Exams

  • Two midterm exams
  • One final exam
  • Check the course schedule on our website for

dates.

  • Paper exams, closed book, closed notes, closed

computer.

slide-13
SLIDE 13

Message Board

  • The course message board (Piazza) is a

great place to ask questions and discuss topics with the Instructor, TAs, and all the

  • ther students in class

– piazza link

  • The only rule is that you may not publicly

post any code that directly comes from an assignment, but example code is permitted

  • Make the question private if need to post

your code.

  • Post to Group 007 if specific to our section
slide-14
SLIDE 14

Grading

  • Minimum Grade Requirement

➢ Need a 73 to advance to CSC216

➢To earn a C- or higher you must:

  • have an exam average of at least 60

AND

  • have a project average of at least 60

Activity Weight

Exercises: (.2 * In-class avg + .6 * Weekly Exercise avg + .2 * Practice-it! avg) 14 Projects 30 Comprehensive Exercise 2 Exam 1 17 Exam 2 17 Final Exam 20

slide-15
SLIDE 15

Regrade Requests

  • The TA’s will send out an email to inform

you when they have completed grading

  • f each assignment.
  • To request a regrade (within one week):

➢ Send an email to the Teaching Staff support email

with Regrade Request as the subject line.

➢ group-csc116-glatz+007@ncsu.edu

➢ Include the name of the assignment and why you think it should be regraded.

slide-16
SLIDE 16

Computing Environment

  • Review of E115 topics that will be

important for the course.

  • The materials come from the E115 Textbook

(http://ncsu.orgsync.com/org/e115/)

slide-17
SLIDE 17

AFS

  • AFS: Andrew File System
  • Distributed file system used to organize

files, which is used at NC State

  • Personal home directory –

/afs/unity.ncsu.edu/users/y/yourhome /afs/unity.ncsu.edu/users/m/mlglatz

slide-18
SLIDE 18

Handy UNIX Commands

  • cd
  • pwd
  • ls
  • mkdir
  • cp
  • mv
  • rm
  • rmdir
slide-19
SLIDE 19

Traverse Directory Tree & Find Current Location

  • cd: change directory
  • pwd: print working directory
  • Log on, open a terminal window, and try

entering these command at the prompt:

– cd .. – pwd – pwd – cd username – pwd – cd ../../.. – pwd – cd ( or cd ~ ) – pwd

slide-20
SLIDE 20

What’s in a directory?

  • ls: list contents of directory
  • Try it:

– cd /afs/eos.ncsu.edu/courses/csc/ – ls – ls -l – cd – ls -a – ls –al

slide-21
SLIDE 21

Organize your CSC116 Files

  • mkdir – make directory
  • Try it:

– cd – mkdir csc116 – cd csc116 – mkdir exercises – mkdir projects – cd exercises – mkdir Lab1 – cd Lab1

slide-22
SLIDE 22

Helpful Tricks/Shortcuts

  • Up/Down arrows – Recall previous commands
  • Tab completion – Completes commands/file

names

  • Ctrl + C – to regain command prompt if system

is “hung up”

slide-23
SLIDE 23

What you will learn in CSC116…

  • Problem solving – the purpose of writing a

program is to solve a problem

  • Java programming language
  • Concepts of Object-Oriented Programming

(OOP) – encapsulated collection of data variables and methods

  • Documentation techniques
  • Testing methods
slide-24
SLIDE 24

Computers

  • Hardware
  • Software
  • Number Systems

– Base 10 (decimal) – Base 2 (binary)

  • Bits and Bytes
  • Programming
slide-25
SLIDE 25

Hardware

  • The physical components that make up a

computer:

– CPU (Central Processing Unit)

  • Executes program instructions (brains)

– Memory (RAM)

  • Used to store current program and data

– Hard Disk

  • Permanent data storage
slide-26
SLIDE 26

Software

  • Computer programs
  • Operating System
  • Bridge between hardware, programs, user
  • Allocates memory and send instructions

to CPU

  • Applications
  • Programs run within the operating

system

slide-27
SLIDE 27

Binary and Decimal

  • Typically, we (humans) use the base-10

(decimal) notation. – Uses the digits 0 through 9

  • All information is stored on a computer as

binary numbers

– 1’s and 0’s (base 2)

– 10 (1 * 21 + 0 * 20) = 2 base-10 – 11 (1 * 21 + 1 * 20) = 3 base-10 – 100 (1 * 22 + 0 * 21+ 0 * 20) = 4 base-10

slide-28
SLIDE 28

Binary and Decimal

  • Binary (Base-2)
  • Decimal (Base-10)

24 23 22 21 20 16 8 4 2 1 104 103 102 101 100 10,000 1,000 100 10 1

slide-29
SLIDE 29

Convert between Decimal and Binary

  • 20 Decimal to Binary (20 – 16 = 4, 4 – 4 = 0)
  • 1 1 1 0 0 Binary to Decimal

16 + 8 + 4 + 0 + 0 = 28

24 23 22 21 20 1 1 1 16 8 4

slide-30
SLIDE 30

Bits and Bytes

  • Bit – Binary Digit
  • Byte – 8 Bits
  • Kilobyte (KB) 210 – 1024 bytes
  • Megabyte (MB) 220 – 1,048,576 bytes
  • Gigabyte (GB) 230 – 1,073,741,824 bytes
slide-31
SLIDE 31

Programming Languages

  • We can write a program using only 0s and 1s, but that

has many disadvantages

– Hard to look at and understand – Very tedious!

  • We use a programming language instead - we write

code in English instead of 0s and 1s, which is much easier to read and understand

  • The code we write is interpreted by a program called

a compiler, which translates our English into 0s and 1s for the processor to understand

  • Java is the programming language we will use in this

course

slide-32
SLIDE 32

Computer Programming

  • Algorithm - A step‐by-step description of how to

accomplish a task.

  • Program – A list of instructions to be carried out by a

computer.

  • Computer Programming – the art of designing and

writing a group of instructions that the computer’s processor executes.

slide-33
SLIDE 33

Computing Environments

  • Use Classroom/campus linux desktop computers

– During class, used for lecture demos – Ensures that programs work on linux

  • Connect Remotely to campus linux computers

– Work from home – Need wifi connection – Ensures that programs work on linux

  • Work natively on your laptop

– Efficiently work at home – No need for wifi – Must transfer final files to afs and run using one of the other methods to ensure programs work on linux.

slide-34
SLIDE 34

Remote Access

Windows:

  • https://www.itecs.ncsu.edu/software/catalog/
  • Run X-Win32 and then run PuTTY.
  • X-Win32 is a X11 Windows System that enables you to display a Unix or

Linux application with a graphical user interface (GUI) on your Windows computer.

  • PuTTY is a SSH client that gives you terminal access to run commands and

command-line applications (make sure to enable X11 forwarding).

  • Click on application to download
  • Brings you to software download page
  • There is a documentation/installation link for each application.

Macintosh:

  • Download and Install XQuartz: https://www.xquartz.org/
  • Run XQuartz then open terminal window
  • Application → Utilities → Terminal
  • ssh -X -Y your_unity_id@remote.eos.ncsu.edu
slide-35
SLIDE 35

File Transfer

Transfer Files between Your Laptop and AFS

  • https://www.itecs.ncsu.edu/software/catalog/
  • For the desired application:

– Click on supplication name

  • Brings you to software download page
  • Click on desired download

Windows:

  • Use FileZilla and/or WinSCP.

Macintosh:

  • Use FileZilla
slide-36
SLIDE 36

Software

  • You may download the Java 2 Standard Edition (J2SE)

Software Development Kit (JDK) from

http://www.oracle.com/technetwork/java/javase/downloads/index.html

– Download JDK version 8u191, DO NOT download version 11.

  • Text Editor
  • Campus Linux Computers
  • gedit (gedit filename & - opens in new

window)

  • Mac
  • TextWrangler, Aquamacs
  • Windows
  • Notepad++
slide-37
SLIDE 37

Configure Editor

  • Configure to convert tabs to 4 spaces
  • https://pages.github.ncsu.edu/engr-csc116-staff/CSC116-

Materials/course-resources/style-guidelines-resources/text-editor- spaces.html – TextWrangler : Preferences->Editor Defaults->Auto-expand tabs

Set tabs to 4 spaces restart TextWrangler for changes to take place

– Notepad++ : Settings->Preference->Language Set Tab size to 4 Check Replace by space box – Gedit: gedit icon in the application bar (top of screen) Go to Preferences. Insert spaces instead of tabs

slide-38
SLIDE 38

Java Download for Laptop

  • The next set of slides show the java download and set

up process.

  • The current version on the download site is Version 11.

– We will be using version 8

  • The java version used for demonstration is version 8

update 152 (current version is 191)

  • http://www.oracle.com/technetwork/java/javase/downl
  • ads/index.html
slide-39
SLIDE 39

Download Java

Current Download is Version 11, don’t download this one.

slide-40
SLIDE 40

Download Java

Page down to the following Version 8 downloads. Click

  • n the JDK download
slide-41
SLIDE 41

Accept Agreement

slide-42
SLIDE 42

Installation

  • Save the file to the desktop and run it
  • Install to default location

The installation screen should read (don't change it): Install to: C:\Program Files\Java\jdk1.8.0_152\

slide-43
SLIDE 43

Installation

slide-44
SLIDE 44

Install Directory

slide-45
SLIDE 45

Setting the Path – Windows

  • Once the installer is finished, you must set your computer's path

before Java will work correctly – FOR WINDOWS ONLY ➢ Go to the Control Panel and double-click System ➢ Select the Advanced tab ➢ Click on the Environment Variables button ➢ Look under System Variables for "Path" Click on "Path" and then click edit ➢ Add the following to the end of the Path: ;C:\Program Files\Java\jdk1.8.0_152\bin

  • Click OK.
slide-46
SLIDE 46

Setting CLASSPATH - Windows

  • Look to see if there is a variable named

CLASSPATH

  • If there is not, then Click the "New" button.

➢ For the variable name, type:

CLASSPATH ➢ For the value, type: .; (that period semicolon) ➢Click OK. Exit out of all the open windows

slide-47
SLIDE 47

Installed Correctly?

  • Open up a command prompt.

– On Windows: ➢ Open Command Prompt

  • On MAC OSX:

➢ Open the Applications folder,

  • pen the Utilities folder, then open the Terminal application.
  • Type java and hit enter

➢ "command not found“ means java is not installed correctly ➢ list of options for running java means installed ok

  • Type java -version and hit enter

➢ It should list version you installed (e.g. 1.8.0_152)

slide-48
SLIDE 48

Write Compile Execute

  • A human writes Java code, known as source code (.java file)

– gedit HelloWorld.java &

  • The Java compiler converts the source code into machine code
  • r byte code (.class file)

– javac HelloWorld.java

  • The computer has a Java Virtual Machine (JVM), which

translates the byte code into instructions that the specific computer’s processor can understand. – java HelloWorld

  • A .class file can be used on any computer that has a Virtual

Machine, no matter what platform the class file was created on (platform independence)

  • Output – messages printed to the screen
slide-49
SLIDE 49

Classic First Program

  • Write a program that prints the text “Hello, World!” to the

screen public class HelloWorld { public static void main(String[ ] args) { System.out.println(“Hello, World!”); } } RULE: The name you give your class MUST be the same name you give your file. Thus, the above program must be saved in a file called HelloWorld.java

slide-50
SLIDE 50

In-Class Assignment

  • Go to our Moodle page and work on the

HelloWorld.java assignment:

/** * This is an example class that illustrates printing a message to the screen * * @author YOUR NAME */ public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World! My name is [put your name here].");

System.out.println("I [am new to programming, have done some Java/C/etc. programming]."); System.out.println("I am a [freshman, sophomore, junior, senior] in the [department name] department."); System.out.println("At home, I use a [pc, mac, etc] with the [Windows 7/8/10, OSX, Linux, etc]

  • perating system.");

} }