Java
Moderator: Coders of Rage
- EccentricDuck
- Chaos Rift Junior
- Posts: 305
- Joined: Sun Feb 21, 2010 11:18 pm
- Current Project: Isometric "2.5D" Airship Game
- Favorite Gaming Platforms: PS2, SNES, GBA, PC
- Programming Language of Choice: C#, Python, JScript
- Location: Edmonton, Alberta
Re: Java
http://thechaosrift.com/viewtopic.php?f ... 6c1#p64818
I think it's highly relevant to this topic too. I went off on a bit of a rant about why I think the approach being used to teach Java is flawed (not that it's hurting me, I understand exactly what the instructor's talking about - but I don't think that most of the class does or understands why he's saying what he's saying about design decisions).
I think it's highly relevant to this topic too. I went off on a bit of a rant about why I think the approach being used to teach Java is flawed (not that it's hurting me, I understand exactly what the instructor's talking about - but I don't think that most of the class does or understands why he's saying what he's saying about design decisions).
- EccentricDuck
- Chaos Rift Junior
- Posts: 305
- Joined: Sun Feb 21, 2010 11:18 pm
- Current Project: Isometric "2.5D" Airship Game
- Favorite Gaming Platforms: PS2, SNES, GBA, PC
- Programming Language of Choice: C#, Python, JScript
- Location: Edmonton, Alberta
Re: Java
Hmm... you know, I think I'm reconsidering my position on the way that our introductory Java course is being taught. People are seeming to pick it up well. Those who aren't are mostly the ones who aren't putting much time in, and I know we've already had a few people who've dropped it. For those people who have a bit of programming knowledge, it's actually really good. Focusing on design and structure is perfect for where I'm at. I'm also enjoying playing around with the framework we're using. It's an open-source project that our instructor wrote for teaching java:
http://env3d.sourceforge.net/
The graphics definitely aren't spectacular, and there's plenty that's hidden from the programmer (eg. rendering is handled internally), but I'm actually finding that it's a good tool for rapidly prototyping an idea. I'm very strongly re-considering my previous position on Java, and I'm becoming more impressed with my instructor as time goes on. He's been in and out of private development I guess - done a lot of database work. He's pretty well grounded in technology and software development as opposed to pure computer science, and I think that the former is definitely better for a first class in computer science. He's genuinely interested in applications, which is what most of first year comp sci students are interested in if they're interested in the course at all.
Comparing to the first computer science course for engineers which is primarily in C, I can tell that they're deeper into algorithms and data types. I was talking to some guys in an engineering drafting class that I happen to be taking and they're working on an assignment to convert a byte into an integer. We're learning about logic structures and creating 3D applets. Our lab on Monday involves getting a 3D applet game running on an ftp server. While I'd like to eventually learn C, I honestly think I'm enjoying this far more.
http://env3d.sourceforge.net/
The graphics definitely aren't spectacular, and there's plenty that's hidden from the programmer (eg. rendering is handled internally), but I'm actually finding that it's a good tool for rapidly prototyping an idea. I'm very strongly re-considering my previous position on Java, and I'm becoming more impressed with my instructor as time goes on. He's been in and out of private development I guess - done a lot of database work. He's pretty well grounded in technology and software development as opposed to pure computer science, and I think that the former is definitely better for a first class in computer science. He's genuinely interested in applications, which is what most of first year comp sci students are interested in if they're interested in the course at all.
Comparing to the first computer science course for engineers which is primarily in C, I can tell that they're deeper into algorithms and data types. I was talking to some guys in an engineering drafting class that I happen to be taking and they're working on an assignment to convert a byte into an integer. We're learning about logic structures and creating 3D applets. Our lab on Monday involves getting a 3D applet game running on an ftp server. While I'd like to eventually learn C, I honestly think I'm enjoying this far more.
-
- Chaos Rift Junior
- Posts: 209
- Joined: Thu Feb 12, 2009 8:46 pm
Re: Java
That's a nifty little wrapper library! I may be scoffing at nothing, but it does seem a bit constricting, and there are a few design flaws, but it looks like your instructor has made an active effort to improve the project, which is great for both of you. However, regarding the template presentation, the project is bloated with the exposure of files from multiple libraries, so it seems like it might nauseate new programmers. Otherwise, I think it's an impressive way to introduce Java OOP to students, and it's certainly much easier to learn something when you get to see some quick results. I'm not aware of the structure or content of your course, so I may have placed my concern unnecessarily, but it seems like this may also take away from quite a few aspects of Java. Namely that you're using a 3rd-party library that will most likely be rendered useless in its application in any sort of real development. Indeed, it may help a lot in learning OOP, but perhaps one should focus more on the applications of the language features and standard API before moving on to 3rd-party libraries - which would be a long way off if it were left up to me, but perhaps your instructor has something clever up his sleeve, or maybe I'm just oldschool.EccentricDuck wrote:http://env3d.sourceforge.net/
I'm a sadist, so I'd probably enjoy the other course.EccentricDuck wrote:Comparing to the first computer science course for engineers which is primarily in C, I can tell that they're deeper into algorithms and data types. I was talking to some guys in an engineering drafting class that I happen to be taking and they're working on an assignment to convert a byte into an integer. We're learning about logic structures and creating 3D applets. Our lab on Monday involves getting a 3D applet game running on an ftp server. While I'd like to eventually learn C, I honestly think I'm enjoying this far more.
- EccentricDuck
- Chaos Rift Junior
- Posts: 305
- Joined: Sun Feb 21, 2010 11:18 pm
- Current Project: Isometric "2.5D" Airship Game
- Favorite Gaming Platforms: PS2, SNES, GBA, PC
- Programming Language of Choice: C#, Python, JScript
- Location: Edmonton, Alberta
Re: Java
Haha, yeah, I think I'd definitely like to do the content of the other course as well. Converting a byte into an int without something simple like an explicit cast actually sounds like a fun challenge. For now though, I'm rather enjoying doing this.
What my instructor is doing with the course is more an introduction to style, structure, and logic than Java in particular. We're using Java, but the point isn't to teach us all the native Java libraries. I don't think that the interaction with different libraries really matters to most of the new programmers since it's all new to them anyway. The second course (which I'm sure that fewer people will take) will go more in depth with that. Inheritance actually isn't covered in this course which surprised me, but looking back at my early attempts at inheritance I don't think that's such a bad thing. Taking advantage of something more akin to a component approach (which is more of what he seems to be doing) seems far simpler.
I was talking with him after class earlier in the week, and he was saying that his intent isn't really to teach Java specifically, but how to create something in an object oriented language. The 3rd party API exists to expedite that process and make it fun. He's already teaching the class to publish the game in a way, creating online applets out of the games that are written. Working with BlueJ, the class also gets early exposure to UML style class diagrams (which I wish I had when I first started working with objects). There are some things about BlueJ that I don't like, but I suppose it serves it's purpose as a 1 semester introduction. The next course migrates up to Netbeans.
What my instructor is doing with the course is more an introduction to style, structure, and logic than Java in particular. We're using Java, but the point isn't to teach us all the native Java libraries. I don't think that the interaction with different libraries really matters to most of the new programmers since it's all new to them anyway. The second course (which I'm sure that fewer people will take) will go more in depth with that. Inheritance actually isn't covered in this course which surprised me, but looking back at my early attempts at inheritance I don't think that's such a bad thing. Taking advantage of something more akin to a component approach (which is more of what he seems to be doing) seems far simpler.
I was talking with him after class earlier in the week, and he was saying that his intent isn't really to teach Java specifically, but how to create something in an object oriented language. The 3rd party API exists to expedite that process and make it fun. He's already teaching the class to publish the game in a way, creating online applets out of the games that are written. Working with BlueJ, the class also gets early exposure to UML style class diagrams (which I wish I had when I first started working with objects). There are some things about BlueJ that I don't like, but I suppose it serves it's purpose as a 1 semester introduction. The next course migrates up to Netbeans.