Download presentation
Presentation is loading. Please wait.
Published byBruno Martin Morton Modified over 9 years ago
1
1/ 47 COP 3503 FALL 2012 SHAYAN JAVED LECTURE 19 Programming Fundamentals using Java 1
2
2/ 47 Course wrap-up
3
3/ 47 What you should know Object-Oriented Programming
4
4/ 47 What you should know Object-Oriented Programming Inheritance, Abstract Classes, Interfaces, Polymorphism, How to Design, etc.
5
5/ 47 What you should know Object-Oriented Programming Inheritance, Abstract Classes, Interfaces, Polymorphism, How to Design, etc. File I/O
6
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
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
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
9/ 47 Sample Interview Questions
10
10/ 47 Sample Interview Questions What is Polymorphism and why is it useful?
11
11/ 47 Sample Interview Questions What is Polymorphism and why is it useful? Design a Parking Garage
12
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
13/ 47 What you won’t learn in your courses
14
14/ 47 1. Version Control
15
15/ 47 Version Control Used to keep track of changes within your project.
16
16/ 47 Version Control Used to keep track of changes within your project. Who made what changes, why, when
17
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
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
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
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
21/ 47 Version Control Create an account and store all your projects on there. (For all your future courses too)
22
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
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
24/ 47 2. Other Programming Languages
25
25/ 47 Programming Languages Already know Java.
26
26/ 47 Programming Languages Already know Java. Will learn C/C++ for next courses.
27
27/ 47 Programming Languages Already know Java. Will learn C/C++ for next courses. Try to learn it by yourself too (pointers!)
28
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
29/ 47 Programming Languages Can write programs in Python/Ruby very quickly.
30
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
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
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
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
34/ 47 3. Unix/Linux
35
35/ 47 Linux Very useful to be proficient at the Linux (or Mac) command line.
36
36/ 47 Linux Very useful to be proficient at the Linux (or Mac) command line. High-learning curve, but very powerful.
37
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
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
39/ 47 Linux Learn a text editor:
40
40/ 47 Linux Learn a text editor: VIM My personal choice. High learning curve, but once again very powerful.
41
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
42/ 47 3. Mobile Development
43
43/ 47 Mobile Development Android and iOS obviously very popular.
44
44/ 47 Mobile Development Android and iOS obviously very popular. You know Java now – try to make some apps.
45
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
46/ 47 Conclusion Need to put in a lot of effort yourself. You won’t learn everything in class
47
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.