1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Getting started with Java programming - Computer Science student

Discussion in 'Programming' started by LasseEA, Jul 14, 2013.

  1. #1
    Hello everyone, this is my first post here, and I think this forum is exactly the online environment I've been looking for lately.
    To the point:
    I'm currently about to start on my third semester for Computer Science, in Denmark where I'm from. We're learning about java programming with the use of database, also we're having classes in Software Design, learning proper understanding of UML and other things related to the development of software. We've had focus on making various types of diagrams in Software Design - using the software Visual Paradigm and Visio. (Also I got a basic understanding of hardware, operative systems and organisation theory)

    Mainly I've learned what I know from the book "Building Java Programs A Back To Basics Approach", but also a few things like the connection between Java programs and MySQL on the side through other sources.
    So mainly what I've programmed have been exercises in the teaching book, and my work on the two semester projects I've been part of.
    Obviously this haven't really made me a confident java programmer yet, and I know there's lots of stuff to learn still.

    But what I'm here to ask you - is advice for how I get started making my own programs; programs which'll be free for the receiver, at least untill I've made enough to get the experience needed for creating solid programs that'll be fair to charge money for.
    Things I'm not sure of:
    Exactly what types of programs where Java is to prefer over other languages.
    How to deliver a program to the receiver, a finished program that they won't need Eclipse or some other Java IDE to run.
    Programs using a MySQL database, do they need MySQL installed themself, and how complicated is this in general? (I mean, I can make a database and a javaprogram, then to get them connected, but that's while having all the things locally on my own pc, I'm not sure if it's that easy when delivering to a costumer).
    In what cases would it be a bad choice to go with Java?

    I hope you can help me out here, so I can finally get started more seriously with my programming.
    You're welcome to add me on Skype: Lassealbrechtsen, currently I got no network for programming except for a few of my fellow Computer Science class mates, and I'd like to change that.
    LasseEA, Jul 14, 2013 IP
  2. BlastPort

    BlastPort Greenhorn

    Messages:
    11
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    21
    #2
    Great questions. I myself have done a lot of Java work on the server-side for large companies, and typically it's code that is deployed on a web-server, so it would be packaged up as such if it were a project that would be "delivered" as you indicated. However, most of my Java work these days is with Android (mobile) apps. That may actually be a fun way to get started with building something from scratch and being able to deploy it to the Google Play Store. These types of projects (same with iOS) do need an IDE of some kind, and when we deliver them for clients, we deliver the actual Xcode/Eclipse/IntelliJ project file zipped up, so don't worry about being tied to an IDE for some projects, as it's necessary sometimes.

    There may be other users who have great suggestions on ways to enter the market with Java work, doing web-based backend projects, but since my expertise is mostly on the Android side of things, I can definitely help out there if needed and the interest is there. Luckily, there are plenty of resources, tutorials, and sample projects out there for learning. Google did a great job of documenting the SDK as well. Android apps don't necessarily directly connect with MySQL databases, but you can use embedded SQLite databases for apps, which encompass the same concept.

    If you have an idea about an app, even if it's not a ground-breaking idea, it could be worth just downloading the software development tools and starting on the functionality. StackOverflow is a killer resource for debugging issues or just plain figuring out how to do something.

    I think your background you've developed so far is a great intro to Java. Now it's time to just start honing those skills. My suggestion is to study up on Object-Oriented patterns as well. If you get really good at being able to tell where and when to use standard OO patterns and designs (singletons, factory methods, abstract classes, etc), then your code will be powerful and robust.

    Feel free to reach out with any questions, and I'd be glad to help! Best of luck to you.
    BlastPort, Jul 14, 2013 IP
  3. LasseEA

    LasseEA Peon

    Messages:
    2
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    1
    #3
    Hey, thanks for that well-written thoughtful reply. Late answer from me, I know.
    Creating simple apps for Android mobiles sounds like an interesting way to start making money. I assume that creating those apps would be writing the code on my laptop(obviously), and when I want to test the app, I run in on an Android mobile emulator of some sort(I don't know much on this area, but I guess it exists). At least I would prefer running the app in an emulator on my laptop, rather than messing around with it on my actual phone(which I hate to use, since my fingers are too clumsy for small touchscreens).
    Putting it up on Google Play Store sounds like something I can figure out myself, hopefully.

    "doing web-based backend projects" - I'm not too sure what this whole thing is, it's the word "backend" that bugs me. But I'll try googling to be enlightened, still I hope someone here could give short and precise explanation of this kind of work.

    "If you have an idea bout an app, even if it's not a ground-breaking idea, it could be worth just downloading the software development tools and starting on the functionality." - Again I'm not sure what you mean, not because you're explaining it bad, just because I'm not into the more professional programmer 'language', yet. What do you mean with "the software development tools"; what are these? (Etc. if my idea is to make a monopoly game for Android mobiles, what would be the software development tools for this?)

    Thanks for mentioning good things for me to learn, I'll take a more throughout look on the OO patterns and designs.
    And please don't make a misconception on my interest in your answers due to my late reply, I did read your first answer shortly after you wrote it, just haven't had the time to give a full reply before now :)
    LasseEA, Jul 18, 2013 IP
  4. baknet.computers

    baknet.computers Greenhorn

    Messages:
    38
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    18
    #4
    Creating an Android application is really a good to way to start and to relatively new Android programmers (me included), it is also more exciting to see our apps working on real phones mainly because designing a basic app doesn't take that long.
    Yes, you are right and there exists an Android emulator for PC (actually, a number of them!) that you can use to test your apps. But, I would still recommend you to try and get used to testing your apps on a real handset, mainly, because the emulators do not support all features of an Android handset, like camera, proximity sensor, GPS, rotation sensor etc. Therefore, apps that require any of these features cannot be tested on the emulator.


    By this I guess he is referring to applications that access, or pick up data from databases that are hosted on some website or a web-server, or the the app may post data to a web-based application or read data from a web-based application and stuff like that.


    The "tools" required to developed Android apps is the ADT Bundle (ADT - Android Developer Tools). The ADT Bundle is available as a free download from the official Android Developers website :-

    http://developer.android.com/sdk/index.html
    The ADT Bundle essentially consists of the Android SDK, Eclipse IDE and the SDK Manager application. The Android SDK is basically a collection of platforms, libraries and APIs required to make apps for Android and set-up an emulator to test the apps. The SDK Manager application is an application that manages the SDK and checks for updates for its components. The Eclipse IDE is where you actually do you JAVA programming for your app.



    I hope this clears out some basic things relating to Android app development using JAVA for you. If there is any thing more you need to ask, just post it here or feel free to send me a PM and I'll see how I can help. :)
    baknet.computers, Jul 19, 2013 IP
  5. swhp

    swhp Member

    Messages:
    24
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    28
    #5
    excuse me, I also start my third semester for computer science in Indonesia and just learning about java this past year, maybe I will have some tutor about java programming from you all :)
    swhp, Jul 19, 2013 IP
  6. BlastPort

    BlastPort Greenhorn

    Messages:
    11
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    21
    #6
    I couldn't have put it any better than baknet.computers stated. :) Thanks for jumping in and replying to the inquiries. Let me know as well if I can offer any help with Android dev questions or iOS, as I have quite a bit of experience with both. Thanks!
    BlastPort, Jul 19, 2013 IP
  7. ViolentAJ

    ViolentAJ Member

    Messages:
    508
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    33
    #7
    I'm really interested in learning how to make Java or C# games myself; I want to move on from Flash.
    ViolentAJ, Jul 19, 2013 IP