1/ 47 COP 3503 FALL 2012 SHAYAN JAVED LECTURE 19 Programming Fundamentals using Java 1.

Slides:



Advertisements
Similar presentations
The continuing story of Vim Bram Moolenaar
Advertisements

 An operating system (OS) is a set of computer programs that allow the user to perform basic tasks like copying, moving, saving and printing files. 
Using Evernote and Google Docs in your web or mobile application (and potentially Dropbox and Skydrive) By Peter Messenger Senior Developer – Triple Point.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
Chapter 3.2 C++, Java, and Scripting Languages. 2 C++ C used to be the most popular language for games Today, C++ is the language of choice for game development.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
PHP Scripting Language. Introduction “PHP” is an acronym for “PHP: Hypertext Preprocessor.” It is an interpreted, server-side scripting language. Originally.
“Final?” Day Unix/Linux April 8, 2014 Dr. Bob Mathis.
CMSC 202 Computer Science II for Majors Fall 2009 Introduction.
ECLIPSE IDE N AME : A SHOK P ADMARAJU C OURSE : T OPICS ON S OFTWARE E NGINEERING I NSTRUCTOR : D R. S ERGIU D ASCALU.
Every week: Sign in at the door If you are new: Fill in Registration Form Ask a Mentor how to get started Make sure you are on the Athenry Parents/Kids.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
CS490 Web Design, AJAX, JQuery
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA Prof. Dr. Paulo Brasko Ferreira Fall 2014.
CS110/CS119 Introduction to Computing (Java)
Thinh Nguyen Spring Thinh Nguyen 5 th year undergrad Dustbusters – Spring 2013.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2011 See online syllabus (also available through BlueLine): Course goals:
Sadegh Aliakbary Sharif University of Technology Fall 2010.
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Git – versioning and managing your software L. Grewe.
DUE Introduction to the Android Platform Working Connections 2011.
LINUX TERMINAL TUTORIAL EDCI 339 – Online Presentation by Roop Rahal.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Mobile Device Programming
Course Introduction Object-oriented Programming. 2 Course information Credit points: 3 Lectures: 15x2 hours; Lab: 15 sections Lecturer:  Trần Thị Minh.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2010 See online syllabus (also available through BlueLine): Course goals:
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
1 CSC 222: Object-Oriented Programming Spring 2013 Course goals:  To know and use basic Java programming constructs for object- oriented problem solving.
1 CSC 321: Data Structures Fall 2013 See online syllabus (also available through BlueLine2): Course goals:  To understand.
C++ and Ubuntu Linux Review and Practice CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and.
By Bearzx Dive Into Web Introduction To WEB
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
1 / 12 COP 3503 FALL 2012 SHAYAN JAVED Programming Fundamentals using Java 1.
1 / 14 COP 3503 FALL 2012 SHAYAN JAVED LECTURE 1 Programming Fundamentals using Java 1.
Data Display Debugger (DDD)
1 CSC 427: Data Structures and Algorithm Analysis Fall 2006 See online syllabus (also available through Blackboard): Course goals:
Lindley Codes Touch Develop Youth Spark Day at Lindley Middle School.
Essential Programming Skills CSE 340 – Principles of Programming Languages Spring 2016 Adam Doupé Arizona State University
Practical Kinetics Exercise 0: Getting Started Objectives: 1.Install Python and IPython Notebook 2.print “Hello World!”
Today's Ninja Challenge: Write Your First Computer Game!
An Introduction App Design Flat Rock Community Schools Introductory Java Programming.
Programming C++ in Linux by various IDEs and editors by: Danial Khashabi Master: Dr.B.Taheri November 2008.
Introduction CMSC 202 Fall Instructors Mr. Ryan Bergeron – Lecture Section 01 Tues/Thu 1:00 – 2:15 am, Sondheim 111 – Lecture Section 04 Tues/Thu.
Version Control Systems
Class Projects and Environment
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
Java Interview Questions
CSC207 Fall 2016.
Programming Languages Dan Grossman 2013
CSCE 742 Software Architectures
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
CSC 321: Data Structures Fall 2016
IT244 - Introduction to Linux / Unix Instructor: Bo Sheng
Essential Programming Skills
Chapter 2: Operating-System Structures
IST256 : Applications Programming for Information Systems
Kevin Taylor.
Version Control Systems
Web App vs Mobile App.
Git Version Control for Everyone
Introduction to Computers and Python
CSE 142 vs CSE 143 CSE 142 CSE 143 You learned how to write programs and decompose large problems with: Print statements Methods Control Structures.
COP 3502.
Class Projects and Environment
Git started with git: 2018 edition
CSC 321: Data Structures Fall 2018
CSCE156: Introduction to Computer Science II
Presentation transcript:

1/ 47 COP 3503 FALL 2012 SHAYAN JAVED LECTURE 19 Programming Fundamentals using Java 1

2/ 47 Course wrap-up

3/ 47 What you should know  Object-Oriented Programming

4/ 47 What you should know  Object-Oriented Programming  Inheritance, Abstract Classes, Interfaces, Polymorphism, How to Design, etc.

5/ 47 What you should know  Object-Oriented Programming  Inheritance, Abstract Classes, Interfaces, Polymorphism, How to Design, etc.  File I/O

6/ 47 What you should know  Object-Oriented Programming  Inheritance, Abstract Classes, Interfaces, Polymorphism, How to Design, etc.  File I/O  Searching and Sorting algorithms

7/ 47 What you should know  Object-Oriented Programming  Inheritance, Abstract Classes, Interfaces, Polymorphism, How to Design, etc.  File I/O  Searching and Sorting algorithms  Basic Data Structures  Arrays, ArrayLists, Stacks, Queues, Linked Lists

8/ 47 What you should know  Object-Oriented Programming  Inheritance, Abstract Classes, Interfaces, Polymorphism, How to Design, etc.  File I/O  Searching and Sorting algorithms  Basic Data Structures  Arrays, ArrayLists, Stacks, Queues, Linked Lists  GUIs

9/ 47 Sample Interview Questions

10/ 47 Sample Interview Questions  What is Polymorphism and why is it useful?

11/ 47 Sample Interview Questions  What is Polymorphism and why is it useful?  Design a Parking Garage

12/ 47 Sample Interview Questions  What is Polymorphism and why is it useful?  Design a Parking Garage  Lots of coding questions involving data structures (Linked Lists, Arrays, Trees, Hashmaps, etc.)

13/ 47 What you won’t learn in your courses

14/ Version Control

15/ 47 Version Control  Used to keep track of changes within your project.

16/ 47 Version Control  Used to keep track of changes within your project.  Who made what changes, why, when

17/ 47 Version Control  Used to keep track of changes within your project.  Who made what changes, why, when  Can look at history of changes

18/ 47 Version Control  Used to keep track of changes within your project.  Who made what changes, why, when  Can look at history of changes  Can revert to previous version at any time

19/ 47 Version Control  Used to keep track of changes within your project.  Who made what changes, why, when  Can look at history of changes  Can revert to previous version at any time  Git and Mercurial – two version control systems

20/ 47 Version Control  Used to keep track of changes within your project.  Who made what changes, why, when  Can look at history of changes  Can revert to previous version at any time  Git and Mercurial – two version control systems  GitHub (free website for your repositories)  Google Code Repositories

21/ 47 Version Control  Create an account and store all your projects on there. (For all your future courses too)

22/ 47 Version Control  Create an account and store all your projects on there. (For all your future courses too)  Also serves as a portfolio

23/ 47 Version Control  Create an account and store all your projects on there. (For all your future courses too)  Also serves as a portfolio  Look up tutorials online on how to use Git/Mercurial

24/ Other Programming Languages

25/ 47 Programming Languages  Already know Java.

26/ 47 Programming Languages  Already know Java.  Will learn C/C++ for next courses.

27/ 47 Programming Languages  Already know Java.  Will learn C/C++ for next courses.  Try to learn it by yourself too (pointers!)

28/ 47 Programming Languages  Already know Java.  Will learn C/C++ for next courses.  Try to learn it by yourself too (pointers!)  But should also try to learn other languages like:  Python (used at Google/NASA/IBM), Ruby (Amazon), Perl (Amazon), Lua (Game Scripting), C# (for Windows), Javascript (Web Programming), Objective-C (Macs, iOS)

29/ 47 Programming Languages  Can write programs in Python/Ruby very quickly.

30/ 47 Programming Languages Task:  Open a text file named 'list.txt'  Create a list of the lines with more than 5 characters in the text file Python program: mylist = list() myfile = open('list.txt') for line in myfile: if len(line) > 5: mylist.append(line)

31/ 47 Programming Languages Task:  Open a text file named 'list.txt'  Create a list of the lines with more than 5 characters in the text file  Python program: mylist = list() myfile = open('list.txt') for line in myfile: if len(line) > 5: mylist.append(line)

32/ 47 Programming Languages Task:  Open a text file named 'list.txt'  Create a list of the lines with more than 5 characters in the text file  Python program: (“long” version) mylist = list() myfile = open('list.txt') for line in myfile: if len(line) > 5: mylist.append(line)

33/ 47 Programming Languages Task:  Open a text file named 'list.txt'  Create a list of the lines with more than 5 characters in the text file  Even shorter version: mylist = [line for line in open('list.txt') if len(line) > 5]

34/ Unix/Linux

35/ 47 Linux  Very useful to be proficient at the Linux (or Mac) command line.

36/ 47 Linux  Very useful to be proficient at the Linux (or Mac) command line.  High-learning curve, but very powerful.

37/ 47 Linux  Very useful to be proficient at the Linux (or Mac) command line.  High-learning curve, but very powerful.  Learn unix commands, bash scripting, Makefiles for compiling, etc.

38/ 47 Linux  Very useful to be proficient at the Linux (or Mac) command line.  High-learning curve, but very powerful.  Learn unix commands, bash scripting, Makefiles for compiling, etc.  Used for development everywhere (except for Microsoft)

39/ 47 Linux  Learn a text editor:

40/ 47 Linux  Learn a text editor:  VIM  My personal choice.  High learning curve, but once again very powerful.

41/ 47 Linux  Learn a text editor:  VIM  My personal choice.  High learning curve, but once again very powerful.  Emacs  Also very good and powerful.

42/ Mobile Development

43/ 47 Mobile Development  Android and iOS obviously very popular.

44/ 47 Mobile Development  Android and iOS obviously very popular.  You know Java now – try to make some apps.

45/ 47 Mobile Development  Android and iOS obviously very popular.  You know Java now – try to make some apps.  Good way to practice and show people what you made.  Maybe also make some money

46/ 47 Conclusion  Need to put in a lot of effort yourself.  You won’t learn everything in class

47/ 47 Conclusion  Need to put in a lot of effort yourself.  You won’t learn everything in class  Hopefully you enjoyed the course and (importantly) learned a lot.