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 Computers First Java Program • Text Editor • Remote Access • Java Download
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
Office Hours • CSC116 Office Hours: – http://go.ncsu.edu/csc116teachingstaffofficehours • We will use My Digital Hand during office hours to manage questions : – http://mydigitalhand.org – You should have received an email invite – Please register now
Textbook • Building Java Programs A Back to Basics Approach 4th Edition Reges and Stepp • NCSU CSC Department, Style Guidelines
Course Website Moodle login page: http://wolfware.ncsu.edu Moodle Course Page (direct link) – course materials – submit coursework – feedback returned – grade book
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
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.
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.
Programming Assignments • There will be 6 programming projects in addition to the Lecture Exercises. • MUST BE DONE INDIVIDUALLY!!
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
Exams • Two midterm exams • One final exam • Check the course schedule on our website for dates. • Paper exams, closed book, closed notes, closed computer.
Message Board • The course message board (Piazza) is a great place to ask questions and discuss topics with the Instructor, TAs, and all the other 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
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: 14 (.2 * In-class avg + .6 * Weekly Exercise avg + .2 * Practice-it! avg) Projects 30 Comprehensive Exercise 2 Exam 1 17 Exam 2 17 Final Exam 20
Regrade Requests • The TA’s will send out an email to inform you when they have completed grading of 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.
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/)
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
Handy UNIX Commands • cd • pwd • ls • mkdir • cp • mv • rm • rmdir
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
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
Organize your CSC116 Files • mkdir – make directory • Try it: – cd – mkdir csc116 – cd csc116 – mkdir exercises – mkdir projects – cd exercises – mkdir Lab1 – cd Lab1
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”
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
Computers • Hardware • Software • Number Systems – Base 10 (decimal) – Base 2 (binary) • Bits and Bytes • Programming
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
Software • Computer programs • Operating System • Bridge between hardware, programs, user • Allocates memory and send instructions to CPU • Applications • Programs run within the operating system
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 * 2 1 + 0 * 2 0 ) = 2 base-10 – 11 (1 * 2 1 + 1 * 2 0 ) = 3 base-10 – 100 (1 * 2 2 + 0 * 2 1 + 0 * 2 0 ) = 4 base-10
Binary and Decimal • Binary (Base-2) 2 4 2 3 2 2 2 1 2 0 16 8 4 2 1 • Decimal (Base-10) 10 4 10 3 10 2 10 1 10 0 10,000 1,000 100 10 1
Convert between Decimal and Binary • 20 Decimal to Binary (20 – 16 = 4, 4 – 4 = 0) • 1 1 1 0 0 Binary to Decimal 2 4 2 3 2 2 2 1 2 0 1 1 1 0 0 16 8 4 0 0 16 + 8 + 4 + 0 + 0 = 28
Bits and Bytes • Bit – Binary Digit • Byte – 8 Bits • Kilobyte (KB) 2 10 – 1024 bytes • Megabyte (MB) 2 20 – 1,048,576 bytes • Gigabyte (GB) 2 30 – 1,073,741,824 bytes
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
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.
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 .
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
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
Recommend
More recommend