2. Other Programming Languages
Download
Report
Transcript 2. Other Programming Languages
1/ 47
1
COP 3503 FALL 2012
SHAYAN JAVED
LECTURE 19
Programming Fundamentals using Java
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,
GUIs
ArrayLists, Stacks, Queues, Linked Lists
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/ 47
1. 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
Can look at history of changes
Can
made what changes, why, when
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/ 47
2. 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/ 47
3. 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/ 47
3. 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.