This week's book giveaway is in the Artificial Intelligence forum.
We're giving away four copies of Pragmatic AI and have Noah Gift on-line!
See this thread for details.
Win a copy of Pragmatic AI this week in the Artificial Intelligence forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Junilu Lacar
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Ganesh Patekar
  • Tim Moores
  • Pete Letkeman
  • Stephan van Hulst
Bartenders:
  • Carey Brown
  • Tim Holloway
  • Joe Ess

Am I Being Duped?  RSS feed

 
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello everyone,

Just a warning, this is mostly me whining.  I am sort of wavering between feeling dumb and thinking my school's courses just aren't effective.

I have been really struggling with these projects, mentioned in my other posts, and I am starting to feel like they have given me something impossible for my level of coding experience.  I don't feel like the courses adequately prepared me for them.

Here is the Application section instructions for one of the projects:
https://1drv.ms/b/s!Ai-EfpdxO8YbnmQw9X4amkR7E4AD

I have course mentors, but they don't do code review.  My first thought about that was, "How can you not provide code review for programming courses?"  I can't turn something in before it compiles, so my only source of help has been CodeRanch and Google.

Several elements of these projects seem to exist for the express purpose of stumping me.  One of the classes, which is supposed to populate a JavaFX tableview, is abstract and has no subclasses.  I am still trying to understand why.  Why would you make a class abstract unless you had subclasses in mind?  They also talk about creating associations between objects which sounds more easily done with a relational database.  

Share your thoughts?
Andrew
 
Ranch Hand
Posts: 174
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Andrew,

Without directly addressing your question, I will comment on your school's decision to utilize JavaFX. I wouldn't go as far as to say that it's a "dead technology," but I would expect any program geared towards teaching new developers to at least use technologies that are somewhat current / in-use.
 
Sheriff
Posts: 12199
199
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Don't get too down on yourself -- I would attribute the doubts you're feeling to the ineffectiveness of the way you're being taught more than anything else. We've had quite a few conversations around here about the disconnect between academia and modern real-world practices. The document you linked to is more evidence of that disconnect. It describes a development process that was taught when I was in school over three decades ago. Real-world development may have some of the elements described but it's far more fluid, chaotic, and iterative. However, given the limitations instructors and students have in terms of the time and effort, it seems like this is the best many institutions of higher learning can or are willing to do.

I wish I had more encouraging words for you but I can't come up with any right now. Knowing what I know now and looking back at what I was taught in school and how it help me prepare for the real-world, I can only point to principles as the most important thing I learned in school. These are: clear and expressive code, small modular units, loose coupling, high cohesion, and as little duplication as possible. What I learned on the job as a professional was that testing and tests that were concurrently developed with the production code has very high value. Ruthless refactoring should become a habit, not just something you do as an afterthought or when you're already in trouble.
 
Sheriff
Posts: 5037
138
Chrome Eclipse IDE Java Postgres Database VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Mark Richardson wrote:Without directly addressing your question, I will comment on your school's decision to utilize JavaFX. I wouldn't go as far as to say that it's a "dead technology," but I would expect any program geared towards teaching new developers to at least use technologies that are somewhat current / in-use.


Hmm.  So if you want to create a GUI in Java, what do you do?  I think it's great that this course teaches JavaFX instead of Swing.
 
Rancher
Posts: 309
6
Hibernate IntelliJ IDE Java MySQL Database Spring Tomcat Server
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Knute Snortum wrote:

Mark Richardson wrote:Without directly addressing your question, I will comment on your school's decision to utilize JavaFX. I wouldn't go as far as to say that it's a "dead technology," but I would expect any program geared towards teaching new developers to at least use technologies that are somewhat current / in-use.


Hmm.  So if you want to create a GUI in Java, what do you do?  I think it's great that this course teaches JavaFX instead of Swing.



Me to, I don't understand Mark's remark. Javafx is the most current. I even use it in my springBootproject
 
Daniel Demesmaecker
Rancher
Posts: 309
6
Hibernate IntelliJ IDE Java MySQL Database Spring Tomcat Server
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Andrew Linton Bradford wrote:


I have course mentors, but they don't do code review.  My first thought about that was, "How can you not provide code review for programming courses?"  I can't turn something in before it compiles, so my only source of help has been CodeRanch and Google.


I'm also curently following a informatica course and althoud I can turn to my teachers with questions, they would never rewrite my code or give me the solution, they would at most point me in the direction of where to look for a solution, which is mostly javadocs, so if possible I try not to boughter them, and ask my questions here or also search google.


Several elements of these projects seem to exist for the express purpose of stumping me.  One of the classes, which is supposed to populate a JavaFX tableview, is abstract and has no subclasses.  I am still trying to understand why.  Why would you make a class abstract unless you had subclasses in mind?  They also talk about creating associations between objects which sounds more easily done with a relational database.  


Andrew


I took a look at the link you provided and it dosn't seem so hard to do. No where they say you shouldn't use a relational db, how would you save your data otherwise. but you still have to do your mapping.
I"m curently developping something that is comparable, if it could help take a look.
 
Mark Richardson
Ranch Hand
Posts: 174
2
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Daniel Demesmaecker wrote:
Me to, I don't understand Mark's remark. Javafx is the most current.



So, I did a little more digging and I will concede that perhaps my view on JavaFX was inaccurate. I had lumped it together with Swing, which I had always heard was a "dead technology."

That being said, I know someone in recruiting who keeps me up to date on market requirements as far as Java related technologies are concerned in the United States. I just never come across openings which list JavaFX as a requirement. I might see Angular, React, JSP, JSF, and other web-related UI stuff... but not very many companies are looking for JavaFX. I just did a quick search on Indeed.com for example and came up with a total of 50-60 openings nationwide. That's not a lot when compared to some of the other web-based UI technologies.

For example, at my current job, we use PrimeFaces (JSF)... which I enjoy, but just based on trends, a lot of people scoff at it and consider it an "unsexy" technology to work with even though their last release was quite recent (August 2017).

Disclaimer: I've only been a developer for about a year and my thoughts possibly come from a place of "insecurity" and "fear of stagnation." So, when I see a technology which is in low-demand and not really gaining any traction, I tend to stay away. Your thoughts? (and I'm certainly open to being corrected)
 
Daniel Demesmaecker
Rancher
Posts: 309
6
Hibernate IntelliJ IDE Java MySQL Database Spring Tomcat Server
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Mark Richardson wrote: I know someone in recruiting who keeps me up to date on market requirements as far as Java related technologies are concerned in the United States. I just never come across openings which list JavaFX as a requirement. I might see Angular, React, JSP, JSF, and other web-related UI stuff... but not very many companies are looking for JavaFX.



That's because javaFx is most used for standalone application's, and bigger companies use more restfull services, that dosn't mean it's not wourth learning javafx .
If done both and prefer javafx above jsp or thymeleaf anytime.
 
author & internet detective
Marshal
Posts: 38508
653
Eclipse IDE Java VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thick UIs have been "quiet" for many years. The demand hasn't gone up or down. Just changed from Swing to Java FX. There are some financial companies that use thick UIs instead of web because they can't afford the latency.
 
Saloon Keeper
Posts: 1817
75
Android Chrome IntelliJ IDE Java MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Andrew Linton Bradford wrote:Just a warning, this is mostly me whining.  I am sort of wavering between feeling dumb and thinking my school's courses just aren't effective.


I totally understand what you mean Andrew. And yes, you are correct in that some courses are not effective, it does not matter which school or where, that is just the case some times.
Not every mentor/teacher will be able to explain the subject matter in an way that the other person will be engaged so that they understand the subject.
On this site there some questions are answered by more then one person in more then one way and this is not necessarily the fault of anyone involved.

I have come to the conclusion that structured post secondary education (college/university) are where one finds out how to learn "self learning" along with setting priories and the course material taught by the professors.
I do realize that you did not mention that you are in post secondary courses, perhaps you are a bit younger, in which case part of these problems could be growing pains.
I recall being a teenager and not doing too well in a class or two because I did not like the teacher.

Andrew Linton Bradford wrote:I have been really struggling with these projects, mentioned in my other posts, and I am starting to feel like they have given me something impossible for my level of coding experience. 
I don't feel like the courses adequately prepared me for them.


Perhaps you will find a secondary recourse helpful. There are many programming books and videos out there.
Aside from that there are many Java resources out there, you can find some here https://coderanch.com/c/books.

And fairly recently the authors to "Learn Java the Easy Way: A Hands-On Introduction to Programming" were on this site.
Not only were they promoting their book, but they were answering programming (Java) questions (mostly about their book).
You can find out more about book promotions here https://coderanch.com/wiki/660317/Book-Promotions
 
Mark Richardson
Ranch Hand
Posts: 174
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Jeanne Boyarsky wrote:Thick UIs



Hi Jeanne,

I haven't been exposed to this "thick/thin" terminology. I am assuming that a "thick" client/UI is basically a pc-based client/UI, whereas a thin-client is web-based? However, I have come across the Oracle JDBC "Thin" driver. Never understood what that means, exactly - perhaps someone can elaborate
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 38508
653
Eclipse IDE Java VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Mark Richardson wrote:Hi Jeanne,

I haven't been exposed to this "thick/thin" terminology. I am assuming that a "thick" client/UI is basically a pc-based client/UI, whereas a thin-client is web-based?


Correct

Mark Richardson wrote:However, I have come across the Oracle JDBC "Thin" driver. Never understood what that means, exactly - perhaps someone can elaborate


On JDBC, it means a pure Java database driver. It is "thin" as it expects less of the database to be present.
 
Marshal
Posts: 59786
188
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Not certain, but I think a thick application runs and updates itself and a thin application is sent ll its details from elsewhere and all the running and updating is done from that elsewhere. As you suggest, a desktop app on a PC screen is thick and a website, which is run from a server elsewhere is thin. The old dumb terminals which comprised a screen and interface to a distant computer counted (I think) as thin.
 
Andrew Linton Bradford
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you for the replies.  Just reading that people understand where I am coming from helps a lot.

I am taking online college courses, just to clarify.

 
Sheriff
Posts: 23649
49
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Knute Snortum wrote:Hmm.  So if you want to create a GUI in Java, what do you do?  I think it's great that this course teaches JavaFX instead of Swing.



Anecdotal data: I've been moderating here for several years and over the past year or two I've been seeing a considerable increase in JavaFX questions. Of course that doesn't mean that JavaFX is one of today's hot technologies, but it does suggest that JavaFX isn't a dead technology.
 
Campbell Ritchie
Marshal
Posts: 59786
188
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A few years ago Oracle and others were suggesting that Swing was at death's door, but it seems not to have died yet, by the same token as Paul C's post.
 
Marshal
Posts: 5941
412
BSD
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Andrew Linton Bradford,

Such an assignment is one of those which doesn't require to think much, but rather just follow what is written by literal.
More positive part of such assignment is, that when you are done, you feel that you have some kind of product which can be discovered and showed to your friend and even given to try out. Moreover, they let you believe, that you, as a programmer, can create something - not that bad, right?

JavaFX apps can be built in two ways: [1] sort of habitual Swing way by writing code manually [2] FXML, which is a, let's call it XML descriptor. The latter is much easier for quick stuff as you can use SceneBuilder - meaning you drag and drop UI components to your screen and you are done. And later you just attach actions to UI components. Let's say telling button A when it is pressed to do action scream(). And that is basically it.

I think far harder assignments are when you need to come up with logic yourself. Let's say a Sudoku solver. So you are given an Array of Arrays or List of Lists or probably better List of Sets which contain numbers where some of them are missing and you need to return same structure just with fulfilled missing numbers. Such assignments require far more processing power of your brains. Often you can't even sleep well. And the worst part is, when you are done, you can't even show to your friend as there is nothing to show, just console input and some poor console output.

Alright, let's get back to your assignment. I think most of assignments look much scarier than they are until you start them. Give a shot, read instructions two, three, might four times - and you'll see, that there is nothing complicated. What needs to be done not just explained, but specified in exact details. I'm not a fan of such assignments, but one of such isn't bad either because it teaches student to follow exactly what is being required.

Anyway, you didn't tell us what exactly you don't understand, which part looks to you beyond the scope of your knowledge?
 
Campbell Ritchie
Marshal
Posts: 59786
188
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Liutauras Vilda wrote:. . . Sudoku . . . or probably better List of Sets . . .

I used a List of Lists of Sets.

I prefer that sort of assignment; it is more like what I had for my MSc. It means the candidate has to think of the design of the whole application, rather than filling in the blanks in a framework supplied by somebody else. Obviously it takes longer to do one's own design, which restricts the difficulty of the whole application.
 
Liutauras Vilda
Marshal
Posts: 5941
412
BSD
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Campbell Ritchie wrote:I used a List of Lists of Sets.


Sure! My mistake. Thanks for correcting.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!