Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsDiscussion Forum → C# / Object-Orientated resources! Also, Koobie's blog!
C# / Object-Orientated resources! Also, Koobie's blog!
2017-09-13, 4:10 AM #1
Dear Mr Salnikov

Further to your recent communication with your Student Support Team, we have changed your registered qualification from Q86: BA (Honours) English Literature and Creative Writing to QD: BA/BSc (Honours) Open Degree. Your completed modules have been linked across.

We have also reserved you a place on M250 Object-oriented Java programming starting on the 7th October 2017 . Please note that you have until 21st September to have your funding in place and complete your registration on the module.


Dear programmers,

Any advise on which courses (preferably free) to do in order to catch up with uni-level Java courses (2nd level, so not completely basic)? End goal is to be proficient with C# and C++ as well as understand the basics, nuts and bolts, etc. Uni will cover Java and Python in 2018, they don't have C# or C++, it's more like an intro to the basics.

5 year goal is to run a successful video game dev studio.

10 year year goal is to open branches in Amsterdam and San Francisco. ;)

I do not expect to be the lead programmer but I do expect to be able to understand what he's doing as well as pick up the slack / do everything myself in case that's needed (hopefully it won't be).

I've worked on more than 12 games by now as a writer / designer so it's not so unrealistic (or so I keep telling myself).

I've so far purchased the Unity (and C#) basics course from Udemy:

https://www.best-course-online.com/reviews/udemy-learn-to-code-by-making-games-the-complete-unity-developer-coupon/?gclid=EAIaIQobChMIoNWusv-h1gIV0IKyCh0qQAXbEAAYASAAEgLRyfD_BwE

And plan to study in parallel with uni, which is more about Java. I also decided to extend my studies by 1 year so as to study programming for 1 year and algorithms the next so as not to get overwhelmed, while studying on my own ...

I always believed that there are 2 "real" types of magic in this world: fiction and programming.

It's just everyone sort of says that if you're a humanitarian, you gotta stick to it, vice versa. I don't believe myself particularly mega-smart, but I also think in life it's often more about putting in the effort than being mega-talented (both are ideal, but without the former, the latter is useless).

So yeah, I made about 3k euro in 3 hours 3 or 4 months ago on this Unreal engine game dev project (in Hungary you can live comfortably and feed your family for 3 months on that), and then I just went downhill down the lazyslope, sick of it, working out / changing my life from today.

I'll be 31 in a couple of months, and I want to set a good example to my kids, rather than being the fat(tish) bloke my 6 year old son plays PS4 and Needhog with. Heh. Not to mention my daughter who's 9 is about to enter her teenage years in a few years, no way I'm missing being the cool dad. Her step-dad is a 50 (I think) year old biker, and its not like we're competing, but ... yeah. Of course we are competing, heh.

"I want a perfect body. I want a perfect soul."

Thanks for caring / reading / providing for a platform to whine on / etc.

Peace, over & out.
幻術
2017-09-13, 4:20 AM #2
Also, 10 years ago when I was 20 - 21 I said my goal is to be a full time writer within 10 years.

Done.*

So yeah.

Well, I had an infant daughter at the time so not like I really cared much bout anything else, but that was always subconsciously the goal, so, with God's help, that one's ticked (and it's not like I couldn't have done it in 5 years if I weren't so lazy). So yeah. I'm one of the 2 "professional" writers I know IRL actually, the other writes Jane Austin fan fiction novels that apparently sell for $50k annually on Amazon ... mmm. Righty.

Time to stop procrastinating I guess. :)

*Yes, I'm just encouraging myself because the only person who believes in me is my fiance. Which is nice and all, but gotta have some faith in myself as well, even if I have to post on Massassi for myself to read [now and also x years from now] to do it, heh. Well, and my -=Digital We'd=- team seems to believe in my vision as well, so can't let them down either.
幻術
2017-09-13, 4:45 AM #3
In more practical matters, and whining aside, if anyone wants to:

-- achieve anything towards their dreams / goals and work towards it
-- get Geralt-fit (minus the scars)

I'm happy to join forces in terms of accountability or whatnot. It's a life-long project, and I got too comfortable lately.

Comfort is not the answer if you (I) want to get **** done.

What are YOUR life goals?

[https://pbs.twimg.com/media/DJmHrK9W0AA_PsS.jpg]
幻術
2017-09-13, 7:56 AM #4
Originally posted by Koobie:
Dear programmers,

Any advise on which courses (preferably free) to do in order to catch up with uni-level Java courses (2nd level, so not completely basic)? End goal is to be proficient with C# and C++ as well as understand the basics, nuts and bolts, etc. Uni will cover Java and Python in 2018, they don't have C# or C++, it's more like an intro to the basics.


There is a lot of variability in what universities cover. I can probably point you at some resources if you post a copy of the syllabus and a list of the first year courses and prerequisites you've skipped.
2017-09-13, 8:46 AM #5
Thank you! :)

Computer Science majors (http://www.open.ac.uk/courses/find/computing-and-it) usually study "intro to computing" and mathematics at level 1, which is what I'd skipped. The "intro to computing and IT" sounds a bit like a bs general course, mathematics, on the other hand, might have potentially been useful since I know practically 0 about it. Hence my plan to move on to algorithms and computing after Java / object-orientated programming.

I am planning to work hands on with C# parallel to the course (messing with Unity mostly).

This is the curriculum: http://www.open.ac.uk/courses/modules/m250

"The module continues the teaching about fundamental object-oriented ideas by investigating:

-- inheritance hierarchies
-- overriding methods
-- abstract classes
-- interfaces
-- polymorphism
-- re-use of code
-- static methods and variables"
幻術
2017-09-13, 10:46 AM #6
The computing courses you're skipping looks like a standard two term introductory computer science track. It's maybe a little less aggressive than it could be, but not unusually so. It is appropriate for non-majors.

The first half is general information, touches on computer and network architecture, and introduces you to programming with a visual programming language. It is probably safe to skip this half if you have prior experience with something like Kismet or a real deal scripting language.

The second half is a more advanced iteration of the former. The most important thing is that it replaces the visual programming language with Python. This is where it becomes a more complicated discussion.

Java is a poor programming language for beginners because it cannot be broken down and introduced in stages. There are a lot of heavyweight concepts that you need to teach before you can start teaching the language, if you want someone to understand the code they've written.

For example, here is Java's "Hello, World!"

Code:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}


In order to understand this program, which is the simplest possible program, you need to know about: classes; modules and implicit imports; symbols and symbol visibility; functions, arguments, and return types; references and arrays; class member accesses and member function calls; standard streams; and the "magical" main function. This is a long and scary list! Java wasn't designed for beginners, it was designed for experienced C++ programmers sick of dealing with memory safety issues. The original language design assumed you already knew C++.

By contrast, here is Python's:

Code:
print "Hello, World!"


In order to understand this program, you need to understand: there is a print command, and it prints to the screen. That's it. Everything in the above list can be layered on top of this simple program, incrementally, as the knowledge is required.

Basically, and counterintuitively, in order to catch up with this second year Java course you will need to learn Python. I don't know the current state of the art for Python education, but you might try https://learnpythonthehardway.org . It used to be available online for free but I don't know if it still is. By the time you've finished the course you will understand the foundational information the university course will assume you already know.

For math: You're on your own. You're skipping a comprehensive first year precalculus and calculus track. I don't know what you don't know, but that's a pretty scary course to skip and I don't recommend doing it.
2017-09-13, 11:46 AM #7
If you plan on doing games, knowing linear algebra is as important as calculus and precalc.
2017-09-13, 12:16 PM #8
If you do, make sure you learn Banach linear algebra, otherwise your knowledge will be completely useless.

2017-09-13, 1:09 PM #9
Thank you very much gentlemen; especially the "Learn Python the hard way" seems like something I'd like to do. It's $30, so I may or may not purchase it (in which case I might just go for another resource), but I did hear that Python is a good first language for complete noobs like myself. Python is also the language of choice for the follow-up module I'd like to take before reverting back to Creative Writing at level 3.

Cheers!
幻術
2017-09-13, 4:46 PM #10
Learn Python the Hard Way was a decent read. You might also be interested in Al Sweigart's Python books. He walks you through the logic of creating a few simple games in said language. Keep an eye on the Humble Book Bundles--there's occasionally programming stuff.
? :)
2017-09-25, 12:45 AM #11
I always wanted to go to school for programming but never did. Now I'm 31 and too old. :( I guess
2017-09-25, 12:58 AM #12
Originally posted by Vin:
too old


Nope
2017-09-25, 1:03 AM #13
Treat that book and the accompanied video lectures like Euclid's Elements, with all the bright-eyed enthusiasm and naïveté of a teenager. If you can actually do this long enough to learn any decent chunk of the book, you'll be head and shoulder above your average code monkey in clarity of understanding.

And, it will be both fun and even magical! You're in for a treat if you stick with long enough to see Sussman don his wizard cap.

And actually, the whole magic of Scheme is to show how utterly simple programming is if you lay bare the essentials: that is to say, there really is no magic after all.
2017-09-25, 1:07 AM #14
You can also try to teach yourself C++ or Java, but I guarantee that if you don't want to actually build something with it, you'll be bored to tears. Scheme is fun and rewarding by itself.
2017-09-25, 1:09 AM #15
OTOH, If you are actually down on yourself about not becoming a proffessional programmer, well, don't be down on yourself. You actually dodged a bullet in terms of hours and work life balance. About the only redeeming quality is the pay.
2017-09-25, 1:17 AM #16
Most programming is utterly simple.

Where it is difficult, it is almost always because of a problem invented by a bored idiot. (See above.)
2017-09-25, 1:29 AM #17
Originally posted by Reverend Jones:
OTOH, If you are actually down on yourself about not becoming a proffessional programmer, well, don't be down on yourself. You actually dodged a bullet in terms of hours and work life balance. About the only redeeming quality is the pay.


I'm sure somewhere between SESTA passing and the pending NASDAQ crash will be the end of that last bit, at least for the flavor of the month web types.

Oh that subject, I'll offer the following pro-tip for anybody thinking about a software career: Programming is a dumb skill. Bring more to the table, especially skills that synergize in unexpected ways. Computer architecture and statistics is a wombo combo.
2017-09-25, 2:04 AM #18
Who are you calling an idiot?

Honest question, because I have no idea. Not that I took it personally, but I am genuinely curious.
2017-09-25, 2:30 AM #19
Originally posted by Reverend Jones:
Treat that book and the accompanied video lectures like Euclid's Elements


so treat it like an oddity that nobody reads and is only referenced in a paragraph explanation of another subject?
2017-09-25, 2:34 AM #20
That sounds like a description of mathematics in general.

I am unaware of any geometers who would speak derisively about Euclid like that.
2017-09-25, 2:37 AM #21
Lol, that's actually pretty accurate.
2017-09-25, 2:38 AM #22
You guys like to brag about wanting to read Hartshorne, right?

Why don't you suck on this book first.
2017-09-25, 2:39 AM #23
Originally posted by Reverend Jones:
Who are you calling an idiot?

Honest question, because I have no idea. Not that I took it personally, but I am genuinely curious.
Let me rephrase:

1.) Most programming is utterly simple.

2.) Where it is difficult, it is almost always because of a problem invented by a bored idiot. (See #1.)
2017-09-25, 2:41 AM #24
Ah, now I see. No wonder I was confused. :P
2017-09-25, 2:42 AM #25
Originally posted by Reverend Jones:
You guys like to brag about wanting to read Hartshorne, right?

Why don't you suck on this book first.


I'm too dumb for algebraic geometry
2017-09-25, 2:59 AM #26
...which would be all the more reason to take note when a noted algebraic geometer stoops so low as to write a 500 page homage to Euclid!
2017-09-25, 2:59 AM #27
Quote:
I am unaware of any geometers who would speak derisively about Euclid like that.


Of course not, lol. I was more implying that it's not really used as an intro textbook for geometry anymore, it's read for the sake of developing further geometry by people already familiar with math. I did sound a bit harsh though and didnt mean any offense.
2017-09-25, 3:04 AM #28
The significance of Euclid's Elements is that it is timeless.

Whether that's also true for SICP is yet to be seen, but that was the comparison I was going for.

Maybe your point was that since most people these days don't read Euclid, that the comparison wasn't very effective.
2017-09-25, 3:08 AM #29
Also, I always thought people read Euclid as an introduction to proofs and math in general, not because they want to specialize in geometry. Maybe these days they use Birkhoff's version of Euclid, but it's still based on the same system.
2017-09-25, 3:17 AM #30
Do they? It's not in the curriculum where I went to school. Yeah my point was that you seemed to be comparing an intro text to something that I didn't consider an intro text and was joking on that. But maybe I'm wrong.
2017-09-25, 3:23 AM #31
High school geometry texts are all derived from Euclid. Mathematicians like Hilbert have revised the proof system or played around with the axioms, but when it comes down to things like Side-Angle-Side, parallel postulate, etc., you may as well be reading the original (and if you learned math in a 19th century English boarding school, you probably did).
2017-09-25, 3:35 AM #32
Actually, Hartshorne complains that high school geometry is "taught mainly as a collection of truths about geometry, with little attention to axioms and proofs". Now, I thought I remembered having done proofs in high school geometry (and I'm sure I did), but I'll confess that the class was far from axiomatic in its entirety. Actually, I don't remember much focus on axioms, if any.

So... Euclid with a bunch of steps skipped, I guess?
2017-09-25, 3:39 AM #33
There's no reason why Euclid can't be an intro text. It was for a couple thousand years.

I imagine the reasons for not assigning it today are similar to the usual reasons for not teaching from SICP.

But hey, Vin isn't in school now, so who cares about that? A lot of things in school kill your brain.
2017-09-25, 3:51 AM #34
For the record, Hilbert's system is mostly taught in college. High schools use a dumbed down version of birkhoff, which isn't entirely geometric, and makes assumptions about the real numbers. From that Hartshorne paper:
Quote:
One does find in most texts the "ruler" axiom, which says that the points of a line can be put in one-to-one correspondence with the real numbers in such a way that the distance between two points is the difference of the corresponding real numbers. This is presumably due to the influence of Birkhoff's article [3], which advocated the teaching of geometry based on measurement of distances and angles by the real numbers. It seems to me that this use of real numbers in the foundations of geometry is analysis, not geometry.
2017-09-25, 5:38 AM #35
Originally posted by Vin:
I always wanted to go to school for programming but never did. Now I'm 31 and too old. :( I guess


I'm 30 going on 31 in November. It's only too late when you're dead.

Even though I "hated math" (because I never tried to understand it) in school, I'm beginning to develop an appreciation for exact sciences because everyone can argue semantics, but it's way harder to argue with mathematics.

My registration went through. To say I'm nervous would be an understatement (my math skills are non-existent).

But **** it. Onwards and upwards!
幻術

↑ Up to the top!