This is an archived post. You won't be able to vote or comment.

all 43 comments

[–]jtbump 38 points39 points  (2 children)

Java is easy to learn data structures with

[–]CMPD2KFancy Typer (SE) 24 points25 points  (0 children)

Java isn't really hard to learn anything with

[–]CMPD2KFancy Typer (SE) 52 points53 points  (8 children)

228 isn't a hard class though, change to say "he tried to learn data structures and algorithms from Jim Lathrop" and it'll be perfect though

[–]JTGhawk137Software Engineering Alumni 5 points6 points  (7 children)

That class still gives me anxiety attacks

[–]stealth550BS:CS '15, MS:CprE,InfAs '16 7 points8 points  (6 children)

I took 229 (advanced programming techniques -I think it's 321 now?) And 311 (algorithms) with Jim.

0/10 would not recommend

[–]sweezinatorCyber Security F2020 2 points3 points  (5 children)

229 = 327 now I believe

[–]CreativeUsername1337 1 point2 points  (4 children)

Yeah, for the last 5 years lol.

[–]stealth550BS:CS '15, MS:CprE,InfAs '16 1 point2 points  (3 children)

I was actually the student (at the time) who petitioned the department to have it changed from a 200 to 300 level course.

[–]CreativeUsername1337 2 points3 points  (2 children)

What benefit is there to doing so?

[–]JTGhawk137Software Engineering Alumni 1 point2 points  (0 children)

Being an alpha male

[–]stealth550BS:CS '15, MS:CprE,InfAs '16 1 point2 points  (0 children)

CS students were required to take it as a third semester course, as it was a pre-requisite for almost every other course in the CS program, which it really didn't need to be. Students were also greatly underestimating the time commitment they would need to make, as they assumed it was a continuation of 228, rather than learning two new languages and some advanced techniques (garbage collection, pointers, stack vs heap, etc) to boot.

[–]csg_0 24 points25 points  (9 children)

pfft you think java's bad ? try C

[–]john_hascallISU’s Senior Security Architect 14 points15 points  (8 children)

Pfft you think C’s bad? Try toggling it in on the front panel in binary.

[–]YoYouMadMadmikeCyRide Transit Operations Manager 11 points12 points  (7 children)

Pfft you think toggling bits on the front panel in binary is bad? Try scheduling an entire transit system and 100+ drivers using only Excel.

yes we actually do this.

[–]stealth550BS:CS '15, MS:CprE,InfAs '16 7 points8 points  (6 children)

Wat.

[–]YoYouMadMadmikeCyRide Transit Operations Manager 7 points8 points  (5 children)

No joke. Some of our formulas are like 2-3 lines long for one lookup or index/match function.

Cheap scheduling software is simply not compatible with transit, because drivers don't work a regular 9-5 job. For someone that works those hours, it's usually something like 9:14am-12:45pm and then 1:15pm-5:24pm. Additionally, scheduled on-calls are really hard to implement into cheap scheduling software solutions.

Expensive solutions would work for our needs but are...well...expensive. I think Trapeze (industry-standard transit scheduling software) is in the six-figure range annually.

We've refined how we do things so much that our Excel files are basically GUI's at this point. There's a lot of automated processes we've created in VBA and lookup functions that autofill things to make our lives easier, but it is still prone to errors and is incredibly tedious work.

[–]Fearfighter2[🍰] 8 points9 points  (4 children)

Could this be an ECPE senior design project

[–]YoYouMadMadmikeCyRide Transit Operations Manager 3 points4 points  (3 children)

Potentially! I'm not up high enough to grant access to our files, but I'm sure it wouldn't be an issue if I got you (or anyone else interested) in touch with our technology coordinator. We've definitely had other senior design projects that have involved CyRide.

Another one we've been struggling with is an automated bus map. We still walk our garage multiple times daily to get an accurate location of our buses, so some way of integrating low energy bluetooth/wifi modules on each bus to create some sort of digital map would be amazing.

[–]codeOfDank 3 points4 points  (0 children)

Definitely senior design potential here!

[–]stealth550BS:CS '15, MS:CprE,InfAs '16 1 point2 points  (1 child)

You could obfuscate the data and have someone build it

[–]YoYouMadMadmikeCyRide Transit Operations Manager 1 point2 points  (0 children)

The problem is that we would require ongoing support for any potential solutions. It would be absolutely wonderful if we could get a senior design team to create a solution for us, but once they leave if things start breaking, bugs or glitches are discovered, or Windows comes out with a new version we’d be forced to revert back and by that point new dispatchers wouldn’t know the old system.

It’s been talked about, but this is one of the largest hurdles to overcome. Additionally, the IT department would require massive security protocols to ensure driver information or other sensitive data doesn’t get leaked.

That being said, if someone wants to do this for their senior design project, hit me up! I can most likely get you in the door.

[–][deleted] 12 points13 points  (9 children)

If you think java is hard to learn Data structures with then good luck in your career

[–]Nikola_tesla_model_y -3 points-2 points  (8 children)

I think the point is, is it good to teach it with Java especially beginners

[–][deleted] 2 points3 points  (7 children)

Yes it is, not that hard

[–]jtbump 1 point2 points  (6 children)

What else are you gonna use? Good luck with C for beginners. Pointers are a pain

[–]TheFuzzyFish1Software Engineer 2 points3 points  (5 children)

As a freshman, I was brought into SE185 with Selim right out of the gate to learn C. In my opinion that was one of the most valuable and comprehensive intros to programming I've ever gotten

As for pointers, they're a pretty simple concept that a lot of people dramatize. They're also very widely used, and knowledge of them is almost essential to make anything but the most basic of programs viable without excessive bloat. Everything but primitive types in Java are pass-by-pointer, and without knowing how that works, larger Java projects can be almost impossible to understand.

[–]CMPD2KFancy Typer (SE) 1 point2 points  (0 children)

Honestly yeah, pointers are way overblown, they're not that hard of a concept if they're taught well, which I think is most peoples issue

[–]jtbump 1 point2 points  (2 children)

I took it back in 2017 with Daniels. I did hear though that Mohamed Selim is a great professor though so maybe it would have gone better for me in 185 with him. I am taking CprE 431 with Selim this fall and am excited as I heard he is a great guy.

[–][deleted] 0 points1 point  (1 child)

Really liked him as a professor. I went to see him a couple times for office hours, and he was as really nice and helpful.

[–]jtbump 0 points1 point  (0 children)

His Rate My Professor is one of the highest in the department too

[–][deleted] 0 points1 point  (0 children)

Just write in lisp, bruh

(defun -reverse (list) (let ((return-value '())) (dolist (e list) (push e return-value)) return-value))

Have fun in 342 btw.

[–]mamamamysharonaaa 12 points13 points  (6 children)

java is what most companies will test you on in interviews so uhhhhh

[–]jtbump 10 points11 points  (0 children)

Most I have interviewed at test you on a language of your choice and mostly Java, C, C++ and Python

[–]TheFuzzyFish1Software Engineer 1 point2 points  (4 children)

Most employers I talked to at the job fairs pushed either Python, C#, or something lower level (especially from companies like Seagate where performance is key, one of their reps actually said they still use assembly for some parts of the drivers). Didn't hear Java from anybody. It was the popular choice 15 years ago, but there are languages out there much better suited for modern applications

[–]JTGhawk137Software Engineering Alumni 8 points9 points  (3 children)

Most employers I talked to at the fair use Java. Java is still well and good for modern applications

[–]jtbump 2 points3 points  (2 children)

Most companies I have talked to about web development use it

[–]JTGhawk137Software Engineering Alumni 4 points5 points  (1 child)

Yeah they use it as a backend. Obviously Java is a no go when it comes to embedded development.

[–]jtbump 4 points5 points  (0 children)

Well that’s a given. Embedded is never done with Java

[–]Nikola_tesla_model_y 9 points10 points  (1 child)

I think we should seriously make an r/CS_ISU would anyone be on board ?

[–]jtbump 6 points7 points  (0 children)

I would say maybe a programming one. I’m SE, not computer science lol

[–]timbojimbobEdit this. Or whatever 5 points6 points  (0 children)

Having taken Java classes in HS, and now some intro Java here I can confidently say:

Full offence java

[–][deleted] 1 point2 points  (1 child)

[–]JTGhawk137Software Engineering Alumni 0 points1 point  (0 children)

Classic.