New Posts  All Forums:Forum Nav:

How hard is Java?

post #1 of 17
Thread Starter 
I realize this is a very general question, but I'm asking this because I'm planning my courses for my next semester and want to do it properly (i.e. not overload myself) and am wondering how intensive learning Java is.

This course I'm taking apparently is an introduction to Java. This is the course description (not very descriptive):

Quote:
The goals of this course are to provide students with the ability to recognize, analyze and use abstraction and decomposition to construct software systems that solve real problems. This course will use the Java programming language and will provide students the opportunity to learn practical design and programming skills.
The course runs from January-April... now when I ask how hard it is, on average how many hours of my time everyday must I devote to it? Currently I'm taking this other course (the prerequisite to the Java one) that teaches a language called "Scheme" that's supposed to "prepare" us for learning other languages, and it's already taking me on average 4 hours everyday to learn it good.

I'm just concerned because I'm planning to go to Law school so I must keep an "A" average or above.

EDIT: I've never programmed before aside from this intro "Scheme" course I'm taking right now. From what I hear, this language is extremely similar to C. The course desciption for that is:

Quote:
The course-level learning goals for CPSC 110 are:

Understand a systematic design process.

This is demonstrated by being able to write programs for a reasonably complex task, where the ability to use the "one task - one function" rule can be demonstrated.

Understand that programs are written both to run on computers and for people to read.

This is demonstrated by being able to to write code that is readable, well organized, documented, and tested.

Understand the relation between information and data.

This is demonstrated by being able to design the data representation for a reasonably complex problem, and to describe the information encoded in the given data.

Understand that the structure of the data a program operates on determines many elements of the program's structure.

This is demonstrated by being able to identify correspondences between a data definition and a program that operates on that data. Also by being able to identify how potential changes to a data definition would affect a program.

Understand that one can replace repetitive code with an abstraction in a systematic way. Understand that this is at the heart of designing libraries.

This is demonstrated by being able to produce examples of code before and after abstraction: before, where one can see the repeated code, and after, where one can see the abstraction and verify that it provides the solution to the original problem, as well as several other similar problems. Students should also be able to design a program that uses existing libraries or existing code to solve a new problem.

Understand that programs can be described using notations other than code, and that these models can facilitate program design.

This is demonstrated by being able to identify correspondences between non-code models of a program and the program itself and by being able to use non-code models in program design.

Edited by Winwin - 11/2/11 at 3:12pm
Aging Tower
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q6600 ASUS P5Q Powercolor Radeon 5750 6GB of DDR2 
Hard DrivePower
2x Seagate 7200.12 500GB Corsair VX550 
  hide details  
Reply
Aging Tower
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q6600 ASUS P5Q Powercolor Radeon 5750 6GB of DDR2 
Hard DrivePower
2x Seagate 7200.12 500GB Corsair VX550 
  hide details  
Reply
post #2 of 17
How much programming experience do you have?

If you have done OOP before, you can sleep through the class. It's just syntax.
If you have never done programming before, it can take hours.
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
post #3 of 17
It really depends on what is taught and how much homework there is in the class as well as how quickly you can learn it. I was a teaching assistant for Principles of Programming 1 at my University (similar to that course description) some students would finish their class work in 30 minutes to 1-2 hours a week whereas other students would take anywhere from 15 to 30 hours in a week working on it. It is hard to say how long a class will take becuase of the type of work required (such as a large project such as Reversi) can take more time than if its just small labs and multiple choice homework. The relative difficulty for a student is mainly varied based on how much programming experience you have. Students who have a fair bit generally find themselves taking less time than new development students. I would say if your class is like the one my University offered you can by pure generalization and assuming you have no background im programming at all guess ~10-15 hours of class work per week but im just guessing.
Edited by ByteMyASCII - 11/2/11 at 1:34pm
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II x4 955 ASUS Crosshair 3 EVGA 465GTX 1GB 8GB DDR3 1600mhz GSkill/ADATA 
Hard DriveOSMonitorKeyboard
40GB Intel SSD 1TB Western Digital Black Edition Windows 7 x64 Pro Dual 21.5 Sceptre Saitek Eclipse 
PowerCaseMouseMouse Pad
850watt Silverstone Element Coolermaster Haf 932 Razer Lachesis Razer Vespula 
  hide details  
Reply
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II x4 955 ASUS Crosshair 3 EVGA 465GTX 1GB 8GB DDR3 1600mhz GSkill/ADATA 
Hard DriveOSMonitorKeyboard
40GB Intel SSD 1TB Western Digital Black Edition Windows 7 x64 Pro Dual 21.5 Sceptre Saitek Eclipse 
PowerCaseMouseMouse Pad
850watt Silverstone Element Coolermaster Haf 932 Razer Lachesis Razer Vespula 
  hide details  
Reply
post #4 of 17
Java was the first programming language I learnt at university, I had no previous programming experience before hand.

Object Oriented design is not that difficult to understand, and on a whole its not that hard to learn the basics of Java.

I don’t know how long it will take to learn in terms of hours, but I can say I learnt more practising and passing code between a friend than I would have by myself.

One thing I must add, half my year failed programming in the first year. However when we had a lecturer-student meeting, it was really down to people missing classes and odd ways of teaching how to write loops.

I don’t know how the education system works where you are, but since you are going to law school I shouldn’t think the course material will be that hard.

[Unrelated to your question but I think is a good thing to keep in mind]: it is arguable that, even if you were going to do a Computer Science degree, learning raw programming skills is not as important as understanding how to design software, the under lining principle of design and project management (unless of course you wish to be a programmer).

Good luck with whatever you choose to do.
puter
(15 items)
 
  
CPUMotherboardGraphicsRAM
2500k EVGA Z68  670 Corsair xms3 8GB 
Hard DriveCoolingOSMonitor
64 C300 / WD1024 EK Supreme HF win7 pro 64 benq 2420t 
PowerCaseAudio
Seasonic X-760 RC1100 x-fi titanium 
  hide details  
Reply
puter
(15 items)
 
  
CPUMotherboardGraphicsRAM
2500k EVGA Z68  670 Corsair xms3 8GB 
Hard DriveCoolingOSMonitor
64 C300 / WD1024 EK Supreme HF win7 pro 64 benq 2420t 
PowerCaseAudio
Seasonic X-760 RC1100 x-fi titanium 
  hide details  
Reply
post #5 of 17
If you took Intro to C in college and passed with at least a B, it'll be easy for you. Syntax is easy, what takes a while for most people is the OOP part, which you'll get used to it.

Overall Java is extremely easy to learn!


Quote:
Originally Posted by Winwin View Post
I realize this is a very general question, but I'm asking this because I'm planning my courses for my next semester and want to do it properly (i.e. not overload myself) and am wondering how intensive learning Java is.

This course I'm taking apparently is an introduction to Java. This is the course description (not very descriptive):



The course runs from January-April... now when I ask how hard it is, on average how many hours of my time everyday must I devote to it? Currently I'm taking this other course (the prerequisite to the Java one) that teaches a language called "Scheme" that's supposed to "prepare" us for learning other languages, and it's already taking me on average 4 hours everyday to learn it good.

I'm just concerned because I'm planning to go to Law school so I must keep an "A" average or above.
How can you get above an A?
post #6 of 17
Thread Starter 
Quote:
Originally Posted by cubanresourceful View Post
How can you get above an A?
Our grading system here works like this:
A+, A, A-, B+, B, B-, C+, C, C-, P, F, each with their respective percentages (A+ is 90%+, A is 85%+). I am a second-year university student at University of British Columbia (it's one of the larger universities up in Canada)

Ah, edited my original post. I have no prior programming experience, aside from the current Computer Science course I'm taking. The course description from that one is:

Quote:
The course-level learning goals for CPSC 110 are:

Understand a systematic design process.

This is demonstrated by being able to write programs for a reasonably complex task, where the ability to use the "one task - one function" rule can be demonstrated.

Understand that programs are written both to run on computers and for people to read.

This is demonstrated by being able to to write code that is readable, well organized, documented, and tested.

Understand the relation between information and data.

This is demonstrated by being able to design the data representation for a reasonably complex problem, and to describe the information encoded in the given data.

Understand that the structure of the data a program operates on determines many elements of the program's structure.

This is demonstrated by being able to identify correspondences between a data definition and a program that operates on that data. Also by being able to identify how potential changes to a data definition would affect a program.

Understand that one can replace repetitive code with an abstraction in a systematic way. Understand that this is at the heart of designing libraries.

This is demonstrated by being able to produce examples of code before and after abstraction: before, where one can see the repeated code, and after, where one can see the abstraction and verify that it provides the solution to the original problem, as well as several other similar problems. Students should also be able to design a program that uses existing libraries or existing code to solve a new problem.

Understand that programs can be described using notations other than code, and that these models can facilitate program design.

This is demonstrated by being able to identify correspondences between non-code models of a program and the program itself and by being able to use non-code models in program design.
It uses a language called "Scheme", that's apparently nearly identical to C, at least from what I've heard (I've never seen C, so wouldn't know). It takes me on average 25 hours a week to do well in this course so I'm wondering if Java is going to be similar...

Quote:
Originally Posted by lollingtonbear View Post

One thing I must add, half my year failed programming in the first year. However when we had a lecturer-student meeting, it was really down to people missing classes and odd ways of teaching how to write loops.
That sounds about right. Same story over here. The intro class I'm in right now has a dropout rate of roughly 50%, and some of the ones who stay do fail.
Edited by Winwin - 11/2/11 at 4:22pm
Aging Tower
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q6600 ASUS P5Q Powercolor Radeon 5750 6GB of DDR2 
Hard DrivePower
2x Seagate 7200.12 500GB Corsair VX550 
  hide details  
Reply
Aging Tower
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q6600 ASUS P5Q Powercolor Radeon 5750 6GB of DDR2 
Hard DrivePower
2x Seagate 7200.12 500GB Corsair VX550 
  hide details  
Reply
post #7 of 17
if you've never programmed before...expect a good amount of time to dedicate yourself to understanding the syntax, semantics, control structures, and flow of control of the language.

I took two languages at the same time...Java and C...and can say C was easier for me since it is a procedural language...Java is Object-Oriented. Expect a couple hours a day.
Black Silence
(15 items)
 
  
CPUMotherboardRAMHard Drive
i5 3570k @ 4.5 GHz Asus P8Z77-M Pro Kingston HyperX Genesis 8 GB - 1600 MHz Seagate Barracuda 250 GB 
Optical DriveCoolingOSMonitor
Samsung WriteMaster Noctua NH-D14 Windows 10 ASUS VS24AH-P 
KeyboardPowerCaseMouse
Logitech Navigator Enermax Infiniti 650W Fractal R3 Black Pearl Razer Death Adder 
Mouse PadAudio
SteelSeries QcK Mass Altec Lansing FX4021 
  hide details  
Reply
Black Silence
(15 items)
 
  
CPUMotherboardRAMHard Drive
i5 3570k @ 4.5 GHz Asus P8Z77-M Pro Kingston HyperX Genesis 8 GB - 1600 MHz Seagate Barracuda 250 GB 
Optical DriveCoolingOSMonitor
Samsung WriteMaster Noctua NH-D14 Windows 10 ASUS VS24AH-P 
KeyboardPowerCaseMouse
Logitech Navigator Enermax Infiniti 650W Fractal R3 Black Pearl Razer Death Adder 
Mouse PadAudio
SteelSeries QcK Mass Altec Lansing FX4021 
  hide details  
Reply
post #8 of 17
Quote:
Originally Posted by Winwin View Post
Our grading system here works like this:
A+, A, A-, B+, B, B-, C+, C, C-, P, F, each with their respective percentages (A+ is 90%+, A is 85%+). I am a second-year university student at University of British Columbia (it's one of the larger universities up in Canada)

Ah, edited my original post. I have no prior programming experience, aside from the current Computer Science course I'm taking. The course description from that one is:



It uses a language called "Scheme", that's apparently nearly identical to C, at least from what I've heard (I've never seen C, so wouldn't know). It takes me on average 25 hours a week to do well in this course so I'm wondering if Java is going to be similar...



That sounds about right. Same story over here. The intro class I'm in right now has a dropout rate of roughly 50%, and some of the ones who stay do fail.
Never heard of Scheme. Honestly, if it takes you 25 hours a week to do well, maybe programming isn't for you. Do you have to take Java? I don't see why a pre-Law student is taking programming courses.

Just wondering, please no taking offensively the above.
post #9 of 17
C++ was my first language, Java was relatively easy after that. I'd start with Python if you want to learn programming, then move on to Java. OOS is VERY helpful once you get it
     
CPUMotherboardGraphicsRAM
3930K @ 4.4Ghz ASrock X79 Extreme6 PNY GTX 980Ti @1400Mhz GSKILL 2x8GB 2133Mhz 
Hard DriveHard DriveCoolingOS
Crucial M4 128GB WD 7200RPM 640GB Corsair H100 Windows 10 Pro 
MonitorMonitorKeyboardPower
Acer P235H 23" 1080p Dell 24" 1200p  E-Element RGB Antec HCG-750w 
CaseMouseMouse PadAudio
Corsair Obsidian Series 550D Logitech MX518 Steel Series 5L Hifiman he 400  
AudioAudio
Asus Xonar DX M-Audio AV40 
CPUMotherboardGraphicsRAM
Q6600@3.2 Asus P5Q Pro EVGA GTX 570 4GB OCZ Reaper 1096MHz 
Hard DriveHard DriveHard DriveOptical Drive
Patriot SSD WD 7200RPM 640GB WD External 2TB USB3 DVD R/W+ 
CoolingOSMonitorKeyboard
Xigmatech S1283w/bracket Windows 7 Ultimate 64 Acer P235H 23" 1080p Razer Blackwidow Ultimate 
PowerCaseMouseMouse Pad
Antec HCG-750w Antec 900 Logitech MX518 Steel Series 5L 
AudioAudio
Beyerdynamic DT 770 Pro-80 Asus Xonar DX 
  hide details  
Reply
     
CPUMotherboardGraphicsRAM
3930K @ 4.4Ghz ASrock X79 Extreme6 PNY GTX 980Ti @1400Mhz GSKILL 2x8GB 2133Mhz 
Hard DriveHard DriveCoolingOS
Crucial M4 128GB WD 7200RPM 640GB Corsair H100 Windows 10 Pro 
MonitorMonitorKeyboardPower
Acer P235H 23" 1080p Dell 24" 1200p  E-Element RGB Antec HCG-750w 
CaseMouseMouse PadAudio
Corsair Obsidian Series 550D Logitech MX518 Steel Series 5L Hifiman he 400  
AudioAudio
Asus Xonar DX M-Audio AV40 
CPUMotherboardGraphicsRAM
Q6600@3.2 Asus P5Q Pro EVGA GTX 570 4GB OCZ Reaper 1096MHz 
Hard DriveHard DriveHard DriveOptical Drive
Patriot SSD WD 7200RPM 640GB WD External 2TB USB3 DVD R/W+ 
CoolingOSMonitorKeyboard
Xigmatech S1283w/bracket Windows 7 Ultimate 64 Acer P235H 23" 1080p Razer Blackwidow Ultimate 
PowerCaseMouseMouse Pad
Antec HCG-750w Antec 900 Logitech MX518 Steel Series 5L 
AudioAudio
Beyerdynamic DT 770 Pro-80 Asus Xonar DX 
  hide details  
Reply
post #10 of 17
Thread Starter 
Quote:
Originally Posted by cubanresourceful View Post
Never heard of Scheme. Honestly, if it takes you 25 hours a week to do well, maybe programming isn't for you. Do you have to take Java? I don't see why a pre-Law student is taking programming courses.

Just wondering, please no taking offensively the above.
Well, my definition of "well" is a near-perfect grade. I'm sure I can get away with 15 (which is what is recommended by our professor as a guideline for all students with no programming experience), but I need to keep my grades high.

The Java course is a requirement of the program, unfortunately. Well up here, pre-law students generally take any Bachelor's Degree and then apply to Law school with that. I just selected Computer Science because I'm already partway through my degree and it's the only useful option I can pick, and I've been interested in computers for a while so why not... although Comp Sci is more of a safety net for me in case Law doesn't work out.
Edited by Winwin - 11/2/11 at 5:20pm
Aging Tower
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q6600 ASUS P5Q Powercolor Radeon 5750 6GB of DDR2 
Hard DrivePower
2x Seagate 7200.12 500GB Corsair VX550 
  hide details  
Reply
Aging Tower
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q6600 ASUS P5Q Powercolor Radeon 5750 6GB of DDR2 
Hard DrivePower
2x Seagate 7200.12 500GB Corsair VX550 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming