|
Wednesday 2024-12-25 12:37 PM |
CHAT | |
Statistics |
Total online: 6 Guests: 6 Users: 0 |
VISITORS | A HEARTY WELCOME TO MA VISITORS 4R ENTERIN MA BLOG
THNX 4R VISITIN MA BLOG |
|
|
Welcome Guest | RSS
Main | Registration | Login |
STUDENTS QUEST |
Main » 2011 » August » 8 » Getting Better At Programming (Java)
0:21 AM Getting Better At Programming (Java) |
While on DIC, I've seen a bunch of threads all asking basically the same thing- how can I get better at programming? The simple truth is that programming takes practice writing and debugging code. It is not something that comes overnight. So for those of you relatively new to (Java) programming, I've outlined a list of topics in a sequence from total novice to advanced programming, with focuses on various aspects of programming from data structures to Graphics to Networking.
Stage 1: You might fall into this category if you've never written a line of code before. Some things I would cover include: -Hello, World (print() vs. println(), \n escape sequence) -Primitive data types (byte, short, int, long, float, double, char, boolean) -Basic use of the String class and Primitive Wrappers for parse methods (ie., Integer.parseInt(String)) -User Input: JOptionPane vs. Scanner -If, Else-if, else statements; switch blocks, basic while, do-while, and for loops -Arrays and foreach loop
Stage 2: If you have completed all the Stage 1 topics with a decent proficiency or are in the AP Computer Science or comparable class, then you should work on these topics. Note that all of these topics are critical to sucessful programming in Java, so you should have a strong handle on them before going onto stage 3: -ArrayLists -Methods -Class design (constructors, instance variables and non-static methods, use of static) -Abstraction, Polymorphism (method overloading and overriding), and Inheritance -Interface design and usage -Object-Oriented Design Patterns -Working comfortably on a large project where most of the code is not yours.
Stage 3: If you have completed AP CS or Comparable Course and are proficient with all the above tools, then you may want to start on Stage 3 topics: -Data Structures and Collections (Linked Lists, Stacks, Queues, TreeMaps, HashMaps, TreeSets, HashSets, Graphs) -Advanced Generics (use of the wildcard operator and further parameterization; making your classes generic) -Graphical User Interfaces (Swing and AWT), as well as Graphics and Graphics2D classes for animations -Event-Driven Programming (possibly game programming) -File I/O -Database -Proficiency at maintaining code, including refactoring -Becoming comfortable with a domain-specific third party API. (i.e. something niche, not standard, and possibly poorly designed and a nightmare to work with) -Finding performance bottlenecks and designing solutions.
Stage 4: This is the advanced stuff, for which you should have a strong understanding of the previous 3 stages: -Networking, Client/Server design -Threading -Interacting with Websites and Webpages (ie., creating an RSS Feed Reader would fall into this category, while getting the webpage source might be more stage 3 topic) -Advanced Applications of Reflection -Drag and Drop with GUIs
I'd be happy to update this list with additional topics as good suggestions are posted.
|
Category: LATEST TECHNICAL IMPORTANT NEWS |
Views: 860 |
Added by: kc
| Rating: 0.0/0 |
|
|