LinuxQuestions.org
View the Most Wanted LQ Wiki articles.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > General
User Name
Password
General This forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!

Notices

Reply
 
Search this Thread
Old 08-18-2009, 08:13 AM   #1
joeBuffer
Member
 
Registered: Jul 2009
Distribution: Ubuntu 9.04
Posts: 328

Rep: Reputation: 42
Post How much/what branches of/mathematics do you know?


What sort of background in mathematics does everyone here have? What branches of mathematics have you learned/do you deal with?
Do you think that trying to learn a lot about computer science is a waste of time without advanced mathematics?
If you know a lot about computer science and programming, or you would like to, what do you think you would need to know to get you through it?
Is lambda calculus important to you?
 
Old 08-18-2009, 09:01 AM   #2
ilikejam
Senior Member
 
Registered: Aug 2003
Location: Glasgow
Distribution: Fedora / Solaris
Posts: 3,109

Rep: Reputation: 96
Hi.

I did 3 years of Mathematics at Uni along with the Computing Science courses. Calculus, algebra, etc. Used Haskell quite a lot in 3rd year, so we covered some lambda calculus. To be honest, I don't remember anyone specifically referring to lambda calculus, but Haskell's a functional language so that's largely what we were doing.

Maths is definitely important but a decent understanding of algebra and logic have been enough to get through any problems I've ever hit (I'm a sysadmin, not a programmer, though). That said, I did a bit of Pure Maths in 3rd year - the graph theory, number theory and cryptography from that course were probably the most useful things I learned in the 4 years I was there.

Dave
 
Old 08-18-2009, 09:25 AM   #3
catkin
LQ 5k Club
 
Registered: Dec 2008
Location: Tamil Nadu, India
Distribution: Servers: Debian Squeeze and Wheezy. Desktop: Slackware64 14.0. Netbook: Slackware 13.37
Posts: 8,563
Blog Entries: 29

Rep: Reputation: 1179Reputation: 1179Reputation: 1179Reputation: 1179Reputation: 1179Reputation: 1179Reputation: 1179Reputation: 1179Reputation: 1179
I've done enough maths to qualify as electronic, communications, mechanical and civil engineer at honours degree level and don't recall using any of it in computing with the single exception of using Karnaugh Maps to simplify some gruesomely complex logic when writing sequential control software for controlling power station plant -- and I could have learned all that I needed then in a couple of hours on the Internet now.

Even the logic maths in computer systems engineering (to understand how CPUs do arithmetic) have never been of any practical use. Interesting, but no practical use.

Maths for a career in computing? Not unless you are doing highly specialised software development.

Studying maths is useful for teaching you how to think very rationally, categorically, orthogonally etc but that's about it.

Edit: forgot -- very rarely some set theory has been useful, too, again for simplifying complex logic.

Last edited by catkin; 08-18-2009 at 09:28 AM.
 
Old 08-18-2009, 09:32 AM   #4
joeBuffer
Member
 
Registered: Jul 2009
Distribution: Ubuntu 9.04
Posts: 328

Original Poster
Rep: Reputation: 42
Thanks for the replies.
catkin:
I only know basic things about set theory. Logic, I really don't know ... but separately from learning about computers I was going to buy a book on it (just plain logic). I've read some about how logic gates work, and things like that ... but much less than a full book about it.

Quote:
To be honest, I don't remember anyone specifically referring to lambda calculus, but Haskell's a functional language so that's largely what we were doing.
ilikejam:
Would you say that learning and using Haskell/Lisp/Scheme would give you a better understanding of things without actually learning lambda calculus or knowing higher mathematics? A better understanding of the same types of things?

Last edited by joeBuffer; 08-24-2009 at 08:35 AM.
 
Old 08-18-2009, 09:40 AM   #5
brianL
LQ 5k Club
 
Registered: Jan 2006
Location: Oldham, Lancs, England
Distribution: Slackware & Slackware64 14.1
Posts: 7,134
Blog Entries: 52

Rep: Reputation: Disabled
I left school at the age of 15, with no qualifications in anything and no interest in maths. I only got an interest in the '80s(?) after reading one or two books on Chaos Theory. I still know very little. As far as programming goes, I'm trying to teach myself one or two languages, making slow progress, but whether a better knowledge of maths would help I don't know. It would help if I wasn't so lazy though.
 
Old 08-18-2009, 09:52 AM   #6
ilikejam
Senior Member
 
Registered: Aug 2003
Location: Glasgow
Distribution: Fedora / Solaris
Posts: 3,109

Rep: Reputation: 96
Quote:
Would you say that learning and using Haskell/Lisp/Scheme would give you a better understanding of things without actually learning lambda calculus or knowing higher mathematics?
I probably would say that, yes. Getting your head round the deep recursion and comparative oddness of functional languages is definitely worth it. (Whether it's easier to learn functional programming without the maths background, or learn the maths then the functional programming is probably up for debate...)

Dave
 
Old 08-18-2009, 12:58 PM   #7
lumak
Member
 
Registered: Aug 2008
Location: Phoenix
Distribution: Arch
Posts: 799
Blog Entries: 32

Rep: Reputation: 109Reputation: 109
Calculus 3, Differential Equations, and Linear Algebra. Don't ask me any of it because I forgot it all :P
 
Old 08-18-2009, 02:34 PM   #8
ilikejam
Senior Member
 
Registered: Aug 2003
Location: Glasgow
Distribution: Fedora / Solaris
Posts: 3,109

Rep: Reputation: 96
Just had a quick squiz at my Uni's website. They require a B minimum in mathematics at Higher/A-Level (age 17 or so at school) to be considered for the undergraduate Computing Science course. On the other hand, judging by the pass rates for Higher/A-Level recently that may not be saying much. Hell, I got 4 As at Higher, and I was drunk most of the time.

Dave
 
Old 08-18-2009, 02:44 PM   #9
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Arch/XFCE
Posts: 17,802

Rep: Reputation: 729Reputation: 729Reputation: 729Reputation: 729Reputation: 729Reputation: 729Reputation: 729
I was always good at Algebra, Geometry, Trig. etc. Calculus was a disaster. Finally, I got really turned on to LaPlace Transforms because I could readily see the application to circuit analysis (I'm an EE by training.) All this was 45-50 years ago........

I really don't do much math anymore but I sometimes wish that I had worked harder on learning matrix methods. I CAN do long division, which I understand that some young people cannot handle. I also know how to run a calculator (either algebraic or RPN), and I can stumble through setting up a spreadsheet.
 
Old 08-18-2009, 03:31 PM   #10
Dinithion
Member
 
Registered: Oct 2007
Location: Norway
Distribution: Slackware 14.1
Posts: 443

Rep: Reputation: 56
I know calculus, basic differential equations and Laplace. Like pixellany I really enjoyed applying Laplace to electric circuits to. I recently started studying physics in my university, so I guess I will integrate until I dream unpleasant dreams about the ones I cant do :P

In my university, the math you need in the different computer science classes depends upon what course you want to enroll. Programming doesn't require more then basic calculus. I think you need to know how to differentiate and basic integration. Crypto analyzes and image recognition courses etc. require some more mathematics.

I'm not a programmer of any kind, but it seems to me that you learn a lot of mathematics in the university, and once you start working you never use it again. Perhaps I'm wrong, but thats my impression from those I know that studied computer science.

Btw, if you enjoy mathematical/programming exercises project euler got some taskes here: http://projecteuler.net/ I've solved some of them, and find them interesting and quite fun
 
Old 08-18-2009, 05:09 PM   #11
jiml8
Senior Member
 
Registered: Sep 2003
Posts: 3,171

Rep: Reputation: 115Reputation: 115
I've studied advanced calculus, nonlinear systems, vector and tensor analysis, complex variables, hilbert spaces, lie algebras, quaternions, and all the usual things like matrices and linear algebra. This all goes with degrees in physics.

I actually use a lot of it fairly often even today because of the type of programming I tend to do. Presently what I am working on involves fourier transforms (FFTs) and IFTs, and a substantial amount of integral and differential calculus implemented using numerical methods. I am doing some approximations because this is a real time system and I need things to go as fast as possible.
 
Old 08-18-2009, 05:57 PM   #12
weibullguy
ReliaFree Maintainer
 
Registered: Aug 2004
Location: Kalamazoo, Michigan
Distribution: Slackware-current, Cross Linux from Scratch, Gentoo
Posts: 2,753
Blog Entries: 1

Rep: Reputation: 238Reputation: 238Reputation: 238
Well, I'm not a programmer by trade, so my experience may not be germane. When I did my undergraduate work in Electrical Engineering, there wasn't much choice but to get a minor in math. This included the Calculus up through diff eq. But also matrix algebra, mathematical modeling, numerical analysis, and a semester of engineering stats.

Since I did my graduate work in Statistics, I studied quite a bit of math . This covered the gamut from theoretical to applied statistics. I took courses in design of experiment (DOE), univariate and multivariate analysis, linear and non-linear models, nonparametric analysis, categorical data analysis, and time series analysis. My concentration was in survival analysis, so I've taken several courses in survival analysis.

As I'm not a programmer, but a reliability/safety engineer, I actually use mathematics quite a bit (as in every day). I do use Python (offers a great random number generator) and FORTRAN from time to time in my work, but most of the "programming" I do is writing R scripts to analyze our failure data. I use LaTeX for writing all my reports and white papers; in my opinion LaTeX isn't really programming, but for most of my Word-centric co-workers it is.
 
Old 08-19-2009, 05:34 AM   #13
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 3,919

Rep: Reputation: 778Reputation: 778Reputation: 778Reputation: 778Reputation: 778Reputation: 778Reputation: 778
Quote:
Originally Posted by joeBuffer View Post
Do you think that trying to learn a lot about computer science is a waste of time without advanced mathematics?
Yes/no. Up to a point, or something...

I'm going to assume that studying computer science isn't an end in itself (this may be wrong...you may want to be Donald Knuth...but i don't think that there is a vacancy at the moment, but a hot spare might not be a bad idea...) and that you are interested in Computer Science in order to be able to 'do stuff'. Or, to be more blunt, as a job ticket.

Doing stuff isn't science, but engineering and the engineering discipline is related, and leans on a lot of the same tools and capabilities, but is slightly different.

To get that qualification in Computer Science, you'll be required to pass a certain number of courses and demostrate a certain (limited) ability in all areas of math on the way. That's all fine, but it is the dry issue of getting a qualification and demostrating facility with certain techniques for the sake of it and not the issue of getting stuff done.

Employers/jobs/careers in general want a rather different set iof disciplines; while the academic world will want the elegance of and facility with all of these academic disciplines, the 'real world' is far more interested in the 'getting things done' aspect. So, when faced with a problem, has whatever academic/theoretical knowledge that you have given you a toolbox which you can quickly deploy to overcome the problem. It doesn't matter whether you solve the problem in the most elegant way, but it does matter that you solve the problem, solve it quickly and solve it reliably.

So more than facility with every mathematical technique, you have to be able to size up a particular problem, work out which tools are likely to crack this particular nut, deploy them and quickly sweep up any nut shells scattered around the place.

For this, you may not need to know differential calculus/complex numbers/binary/hex/base 11 math (allthough how you would get on without the binary or hex in software is a bit of a mystery to me, but I am sure there are ways round it, if needs must...maybe you do all binary math on a pda or something), but you need to be able to look at every problem, select the tools, read a book (or whatever) to make them available if you don't come with the full set installed, and solve the problem.

(And, if you have underestimated the problem, install the extra tools and still solve the problem.)

In this context, elegance doesn't count; results do.

OTOH, at the job interview it is probably inadvisable to admit that you've never been able to cope with binary so you've come up with clever technique to do the math on your fingers, however clever/fast/reliable your new technique actually is.

Practically, there are a number of techniques, some of them very simple, that I haven't used for so long, that I am no longer capable of using (some school geometry, for example, which is worryingly basic, in some ways). But at least I know what I don't know, and, if needs be, in half an hour, I can be (vaguely) back up to speed, with a few good books and wikipedia and/or google.
 
Old 08-19-2009, 06:35 AM   #14
joeBuffer
Member
 
Registered: Jul 2009
Distribution: Ubuntu 9.04
Posts: 328

Original Poster
Rep: Reputation: 42
I'm not really looking for a job. I just care about learning about computers a lot more than most other things. Separately, I want to learn a good amount of math. I've never had real problems with math, but I have more trouble memorizing everything than I do with anything else. Just reading a math book isn't exactly fun, but it doesn't really bother me. It's interesting and it's something I want to learn. I know less about math than anything I can name other than science.
I know a decent amount about processors and RAM, and quite a bit about hard disks. I know a very decent amount of C, and I recently bought "C in a Nutshell". I know a decent amount of PERL, but I need to study it more and brush up on what I haven't been thinking about - and I'm much more comfortable with C. I really haven't spent much time on PERL. I've been thinking Python might be good. I've been considering learning something about Scheme or Lisp, but don't think that they'd be very useful to me as anything other than learning tools. I can get simple things done with bash scripting.
I've got bits and bytes down. I'm capable (in my opinion) of using binary and hexadecimal without any confusion. Obviously not advanced things, since I don't really know advanced mathematics in base 10. I have a good understanding of them and how to use them, how to convert, etc. AND, OR, NOT, and XOR and shifts and rotates aren't any mystery. I've read a little about how logic gates work, but not very much. I can get around on the Linux command-line easily. I have a good understanding (in my opinion) of quite a few of the command-line tools (sed and awk I need practice with, but they're not mysterious).
I understand many things about assembly. I just got done reading "Programming from the Ground Up" and I've read some other things about it. I read some of Paul Carter's assembly book not all that long ago.
I don't know anything about electronics, really, except transistors, capacitors, etc. Just simple things.
Mathematics isn't really my favorite thing, but it's interesting and I plan on learning a lot more than I know about it ... it's just happening slowly since I can't really focus on it. I have to put it on the back burner, and keep doing things that are more interesting to me. I had a feeling that a lot of people on this site have learned what I consider to be very advanced mathematics.

Last edited by joeBuffer; 08-26-2009 at 03:57 PM.
 
Old 08-19-2009, 06:50 AM   #15
vonbiber
Member
 
Registered: Apr 2009
Distribution: slackware
Posts: 299

Rep: Reputation: 50
Quote:
Originally Posted by joeBuffer View Post
What sort of background in mathematics does everyone here have? What branches of mathematics have you learned/do you deal with?
Do you think that trying to learn a lot about computer science is a waste of time without advanced mathematics?
If you know a lot about computer science and programming, or you would like to, what do you think you would need to know to get you through it?
Is lambda calculus important to you?
For my math degree I studied mostly
Set Theory and Logic (Zermelo Fraenkel axioms, ordinals, ...)
Topology
Algebra (Group Theory, a bit of Galois Theory)
Measure Theory
Differential Calculus

What I know about programming and computer science
I learned it by myself and independantly of mathematics.
Actually my first exposure to the computers started
with a Macintosh. I was asked to typeset a
math book in TeX. Learning TeX gave me the itch for
programming...

Since I learned mostly what I liked:
c, the shell (sh, bash, zsh), ..., linux

There are languages/systems that I just don't care for:
c++, java, c#
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Where can I get mathematics........? schneemann Suse/Novell 1 01-08-2006 05:28 PM
mathematics ? Volcano Programming 6 10-06-2005 12:17 AM
About Debian branches... ? Deeze Debian 2 03-08-2005 09:27 AM
bash mathematics possible? stabu Linux - Newbie 5 04-30-2004 05:45 AM


All times are GMT -5. The time now is 08:38 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration