- cross-posted to:
- chat
CS higher ed is so fucking diseased. Mandatory class on C++ from a dude who admitted right at the start that he didn't know jack shit about C++. Mandatory class on discrete math that almost everyone failed once and most twice. I was not a good student but the university was abysmal.
Ethics didn't come into it until year 4, and with the dropout rate as high as it was... lotta people getting the basics of java and nothing else.
How should I be prepare for discrete math? Java wasn't too bad, but I rather not use it.
Learn some basic formal logic and set theory. Focus on the definitions. Don't try to use what you know about "even numbers" or "functions". Learn to use exactly the definition of the thing as defined in the class.
I teach discrete math, and that last bit is where everyone struggles the most. Shoot me a DM if you need help and the Professor isn't being terrible helpful.
I once gave my discrete mathematics teacher a copy of Wittgenstein's Tractatus. I wanted to discuss more fundamental ideas as to what propositions are. ...few weeks later he wouldn't let me join class for being over 15 minutes late. Just wanted to see I bet you're a much better teacher than he was, just by you being on this site.
Depending on the Prof, he might have taken that as the equivalent of just dropping your drawers and whipping out your dick in front of him.
Yeah, he didn't even know who he was and seemed surprised when I told him Wittgenstein worked a lot of with Bertrand Russell. I was disappointed.
mind if I contact you in 6 months to a year when i take it lol?
For discrete math help, if you need upper division non-cosc credits, like my uni did; I would look for either the Math dept's intro to proofs class, or the philosophy debt's symbolic logic class
Oh I plan to take discrete math after finishing cal 2 and linear algebra this semester. I'm not a math or comp sci major, this is just so I can take to AI programming course at my university.
I'm surprised theyll let you take linear algebra before discrete math. Even so, it may benefit you to take discrete math first.
Hmm, I thought discrete math was built on top of the material learned in Linear algebra and Cal 2. I can't I have to take those courses to before discrete math.
Hm, idk. I think universities do it differently, depending on how proof-heavy the Linear Algebra course is.
honestly idk. that was a long time ago for me and I only ever failed it.
one way to stay engaged could be to find people in your class who are having trouble and help them
BASIC can be good if people did not have programming experience, as in BASIC you have nice GOTO instructions. Those are horrible style, but enable new programming people quite easily to simulate the assembler and machine level instructions which make loops and such.
10 REM This is a basic loop to sum up the numbers from 1 to 10 20 LET LOOPVARIABLE = 1 21 LET SUM = 0 22 LET LIMIT = 10 30 LOOP: 40 IF LOOPVARIABLE > LIMIT THEN GOTO ENDOFLOOP 50 LET SUM = SUM + LOOPVARIABLE 60 LET LOOPVARIABLE = LOOPVARIABLE + 1 70 GOTO LOOP 80 ENDOFLOOP: 90 PRINT SUM
Is more or less functionally equivalent to some python thing:
limit = 10 sum = 0 for i in range(1,limit+1): sum += i print(sum)
Which can easily become a function itself (and return sum instead of print it). At the QBasic level you can make the housekeeping checks explicitly, this is sometimes good for new programmers as the flow of execution is clear. That is something some new programmers struggle with.
C is a good compromise but confuses some with its archaic syntax on semicolon endings. It highlights what will happen in the loop quite well, but it isn't quite as verbose as possible with QBasic. Honestly, after you got the concepts of variables, loops, conditions and functions most programming languages are (even for the beginner) easily exchangeable. If you struggle with concepts for those it helps to have a level of abstraction which enables you to build an own model on one hand or to be so low level that one could show you how the flow of execution is built.
int sum = 0 for( int i = 1 ; i < 10+1 ; i++ ){ sum += i; }
In my opinion depending on the course and how it is done it is more apt to just use modern high programming languages which do a lot of things for you, but for some people the concepts will be unclear.
Man, why can't they have placement tests for computers like they do with math?
I tried to load up on those kinds of classes as much as possible to boost my GPA. Never went to class outside of test days tho.
My degree was mostly theory (well also because I picked that track). Right now I'm in quantum computing and computational learning theory and both are screwing me in being bad at linear algebra.
I remember my intro courses were a design patters in OOP taught in java and then data structures and discrete math. From there, we got to choose a bunch of either theory (which also meant go take some math department prereqs) or systems courses.