Domain: canterbury.ac.nz
Stories and comments across the archive that link to canterbury.ac.nz.
Comments · 56
-
Re:Or maybe, just maybe...
26% of the mass of the universe is made up of your simplifying assumptions: space is flat and uniform everywhere and everywhen, gravity is constant everywhere and everywhen, the speed of light is constant everywhere and everywhen, the Higgs field isn't really the luminiferous aether with a fancy new name, etc.
Addressing the first part of your post only, this is one reason I like the Timescape Cosmology model, that basically posits that some dark matter effects and all dark energy effects are just arising from GR. Most cosmology simplifies the universe to a homogeneous soup, which conveniently ignores small-scale GR effects that could be very important.
-
Re:I'm old enough to remember
How do you write your user interfaces in Python?
Pick your favorite UI toolkit and use its Python bindings. PyGUI is super lightweight and it will render native widgets on Windows, Mac and *nix (GTK+ 2)
Does Python3 run your Python2 code?
For the most part, yes, but it is not necessary; Python 2.x is still widely used so most setups have both Python 2.x and 3.x installed. In fact, i'd argue that version management is easier on Linux scripts than it ever was on Java.
-
She has Panic Disorder
From her testimony it is obvious that she has a case of Panic Disorder. Her condition can likely be treated with micro-nutrient supplementation, as is commonly done with pigs under stress in agribusiness who develop a form of cannibalism known as ear and tail biting syndrome.
-
Re:If two people lock down a major city....
That's right, keep attacking personally like you deluded Lefties always do. Never, ever look for facts or counter facts. That's the tactic, eh?
Actually, I gained my PhD over a dozen years ago working on this project: http://www.phys.canterbury.ac.nz/moa/ where I contributed software and algorithms that were used to find extra-solar planets. So, let's examine your credentials, eh? See what your scientific backgrounds is. I bet you don't have a background in hard science, which is why your outlook is stuck somewhere in the 1960s and utterly anti-scientific.
No matter how many references and citations I have provided you still would not have looked at them. It is this that leads you to have a worldview out of touch with reality, coupled with a lack of any kind of reasonable or scientific outlook that would correct the flaws in your world model. That's why you defend insanity and don't listen to what people are *actually* saying - instead inventing strawmen in your tiny little mind (despite me explicitly making statements before you even invented the strawmen; it appears you have comprehension trouble with basic reading). This is all so you never have to think outside The Matrix you gladly inhabit.
You think your are morally correct but because you refuse to be evidence base you are instead immoral by supporting evil (the evidence is there for all to see at places like this, if you ever care to get fact based: http://www.thereligionofpeace.com/index.html#Attacks). Supporting evil makes *you* evil.
Goodbye anti-scientific dhimmi - your mind is closed and your life is wasted. It is a shame to throw away you life with a closed mind. It appears you'll never use objective evidence to decide how to stand up for personal freedoms and liberty and women's rights and homosexual rights and protection of *all* faiths on an equal basis (as misguided as they are) - which means standing against Islam and all its evil supremacist commands (eg. Sura 9:29 & 9:5). Go back under your bridge little troll that is massively under-endowed with any faculties of reason.
-
nowhere is safe
You are correct. Even though in infinite time the bubble would expand to infinite volume, this would only affect a volume that was initially finite, if very large. The "edges" (cosmological horizon) of the affected volume would always outpace the bubble's expansion. (This is assuming the expansion of the universe continues. Its apparent acceleration might be just an artifact) However, there doesn't have to be just one bubble, nor does it have to arise in "billions of years". Nowhere and nowhen is safe... unless the Many-Worlds Interpretation is true. (to see why the MWI helps, see quantum suicide and quantum immortality)
-
Re:Why are people still using this?
What the fuck do you think you were using when you did the rest of the code in Python? Cython is Python.
Well, you just set off the "I don't know what I'm talking about" alarm. Cython is a derivative of Pyrex, neither of which should be confused with CPython. And of course CPython is not Python either, it's the reference implementation of an interpreter for the Python language.
-
Re:More likely an accident
I did a double take when I first saw his name on a BBC news story about this. Back in the late 1980's when I was finishing my computer science degree at the University of Canterbury in Christchurch, New Zealand, he was my lecturer in a couple of philosophy logic courses. Back then he was not a professor, and he had a beard. Here are some websites that have information about him. http://en.wikipedia.org/wiki/Jack_Copeland http://www.saps.canterbury.ac.nz/phil/people/copeland.shtml
-
Re:No Script
OK here is how much my uni charges: http://www.icts.canterbury.ac.nz/services/charges/index7.shtml
-
Can someone please explain?
I did some googling and found David Wiltshire's home page which had links to his recent publications. That brought me to this full article which I am guessing is the one that corresponds to what was discussed in the original
/. article here.I had a couple courses in astronomy and cosmology way back in my college days. That said, I can't begin to understand the details. I'm hoping someone with more knowledge and experience could elaborate. Is he really onto something that can dispense with the need for dark energy? And, if he is, am I correct in thinking this would be Nobel-Prize-Candidate-Worthy?
-
Can someone please explain?
I did some googling and found David Wiltshire's home page which had links to his recent publications. That brought me to this full article which I am guessing is the one that corresponds to what was discussed in the original
/. article here.I had a couple courses in astronomy and cosmology way back in my college days. That said, I can't begin to understand the details. I'm hoping someone with more knowledge and experience could elaborate. Is he really onto something that can dispense with the need for dark energy? And, if he is, am I correct in thinking this would be Nobel-Prize-Candidate-Worthy?
-
Re:New version, huh?
Where I'm studying mathematics, we write our postgrad reports, essays, assignments in LaTeX.
Word is inefficient for what I need to do. I reckon more university students should learnify it. Bibliographies, indices, TOCs... what more does one need? ;-)
I admit it hasn't got the easiest learning curve, but if you're at a postgraduate level, I assume you've got some brains :D (though I somehow slipped in). -
Re:Compiled type-safe python
You might want to take a look at http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/ and/or http://www.cython.org/
-
I love Linux...but as a software engineer...
I also love Kubuntu and use it on all my machines at home... However I develop for Windows at work. Developing application in Windows can be as easy as VB. As far as I have seen there is nothing on this (OSS) side of the fence that comes close to it for ease of use, with (reasonably) good debugging. From there it's a skip and a jump into C# and beyond.
As a (bad) example of how far UIs have to go, I use Visual Studio 2005 at work and I use Matlab for my postgrad work. Both professional, closed-source products. The Matlab debugging facilities pale in comparison to Visual Studio's power. Makes life so much easier. I find Matlab a bit archaic, but KOctave seems even worse. I guess Matlab only has to do better than Octave on Linux systems.
Of course my argument is omitting things like Eclipse... but I have only used it a few times and found it too slow (slower than VS.Net!!) and user unfriendly. -
Re:VMs
I think id Games used to compile on SGIs. I know MS did some development on Xenix/i286 and Xenix/i386 (somewhere, there's an MS quote about how MS-DOS/Win is not suitable for serious development..hah). In fact, the i286 had a memory management unit, but the only OS (that I know of) which took full advantage of it was Xenix. Minix/i286 may have supported it to some extent, as well.
Some emulator pages....mac&ppc, simos (for SGI/IRIX5), DEC 10 and Big Iron, various DEC emulation, Apple Lisa, Z80 sim&development, yaze Z80, Apricot and Amstrad, bochs x86, ... and there's always emulators that run under DOS that you could run under Bochs or QEMU.
Other possibly helpful links:
emulators on freshmeat
OS kernels on freshmeat
OS's on freshmeat
bunches of old OS disk images
CP/M and MP/M
CP/M disks
Lisa Xenix
LisaOS
tandy xenix
elks and uclinux
freevms
freedos
Apple I (not II) development
reactos - winnt clone
MAME stuff and pinball Mame
info about tandy disk images
solaris minix
minix info and version 3
various free (as in beer and/or speech) OS list
The OS list at tunes.org -
Re:Python is SLOW
...and it need not be said.
Between Pyrex and Psyco, there's really very, very few applications that a language like Python isn't appropriate for. Premature optimization is the far more common programmer sin these days than choosing a language that's "too slow." Except for a few, specific application domains (that only a minority of coders are writing) dynamic languages like python are an excellent choice on today's hardware. And if you need it to be faster, just profile, find the couple of spots that matter, and pull out Pyrex.. or even the C/Python API if it makes you feel manlier.
:-)Plus, with things like PyPy + LLVM, Parrot, and IronPython emerging, things are only going to get better.. don't be the last one on the dynamic boat!
-
Re:About speed.
My favorite so far is Pyrex, which lets you write C extension modules in a Python-like language. (It adds things like C data types and support for importing header files. I wish it would do generators, though.) A lot of times you can move a hefty inner loop into a Pyrex module and see tremendous gains.
-
Re:Static Typing?
Maybe you should look into Pyrex, with is essentially Python with static, C primitive data types. I've never used it myself, and it's mainly intended for writing Python modules, but I see no reason why you couldn't write essentially an entire app as a Python module and call that from a very short Python script.
-
32 MB powerbook drive replacement
some guy hardware hacked a powerbook, replacing the internal hard drive with a 32MB compact flash card.
:)
now to find someone who's done that with titanium powerbooks and larger flash cards :D -
Re:The real 90s versus outdated 00s software
(By the way did I mention that with some special modules like weave it already is pretty simple to inline C/C++ code in Python and I am experimenting with that for scientific computing and so far I am pretty impressed, it surely beats Java in my benchmarks.)
There's also Pyrex and Psyco. And the future holds Parrot and PyPy. -
Re:Fantastic ...
If it comes to that, there are some tools that make writing C modules much simpler, Pyrex, for example.
-
Don't Fall For Premature OptimizationsI almost never have problems with performance in Python, and I program in it exclusively. For those things where performance really matters -- e.g., image processing -- there are library written in C that are available from Python (and fairly easy to use) like PIL. There are lots of algorithms in Python itself that are extremely fast, like a great hashtable implementation (Python dictionaries) and sort algorithm.
If it's really a problem, there are a myriad of solutions -- Numeric and numarray for lots of numbers, psyco for JIT optimizations, Pyrex for a Python-like syntax that compiles to C (and can be as fast as C if you use it correctly), and lots of other new options as well -- IronPython is supposed to be faster than CPython (the standard implementation), there's quite a bit of work on type inference, PyPy is working hard at compiling Python to fast C, Boost can inline C++ code... there's a huge number of options.
I've never encountered someone who had to throw a project away because of performance issues in Python. Sometimes they have to change the design, move some small parts of C, make better use of other people's libraries, and always of course driven by profiling -- but that's the kind of refactoring that always happens in development. And for a very large number of applications it simply is never a problem.
-
Re:Good choice.
Another alternative is Pyrex; Pyrex is essentially Python augmented with C data types.
-
Re:Interesting Idea, but basically useless
Also, something like facial recognition needs large test datasets, and it's never a "solved" problem. There's always a way to do it faster or better or more easily. Other things like Canterbury Corpus or Calgary Corpus are datasets used for comparison between compression algorithms. Meaningful comparisons can be made between different algorithms based on how well they perform on them simply because they've been used enough and are standard enough.
I'm so interested in this that I just registered gpldata.com... finally something useful to do with my free time!!! -
Re:Laser ring measurement
And this site too:
http://www.phys.canterbury.ac.nz/research/laser/ri ng_history.shtml
Hedley -
Re:Python
To be fair to python, you can get a lot of stuff onscreen at excellent framerates, but you do have to be careful how you do it. Extensive use of vertex arrays, or at least display lists is essential, but to be honest that's the kind of thing you'd really want to be doing with C/C++ anyway, it's just that it hurts even more if you don't do it in python.
One of the other replies mentions pysco, but to be honest I think that pyrex would be more useful, as it for most intents and purposes allows you to compile sections of speed-critical python code in C. -
Re:Writing extensions...
One can write extensions in Pyrex, which is a language that is very similar to Python. Pyrex code is converted to C, which is ccompiled into an extension to Python. One can also access any C libraries from Pyrex.
-
Re:Sweet Spot?No, application developers have neither the time nor the resources to turn all the compute intensive core functionality in C/C++ code and then link that into Python. C# is a good middle ground.
Huh? I typically find that I don't have the time not to do this. Programming in Python takes me about 5 to 10 less time than programming the same functionality in C, and in the rare cases something is too slow even with Psyco, I use Pyrex for the inner loop, typically a single function or class.
CAD systems: I am not familiar with those, what exactly is too performance-critical for Python in CAD systems?
graphics systems: Huh?
image encoders/decoders/editors: Image encoders/decoders are typically very small projects - small enough to write in C or other low-level languages.
vector graphics renderers: Probably true
typesetting and layout software (including web browsers and editors): Python is fast enough for these, on non-antique hardware.
audio encoders/decoders: Similar to image encoders/decoders, these are small and should be implemented in a low-level language.
GIS systems and mapping programs: What is time-critical about these?
speech recognition engines: I suspect there's a small algorithm running in an inner loop and a lot of higher-order code. Only the inner loop needs C, and that only if you want Real-Time behavior.
Ever since I turned to write nearly all my code in Python, my productivity was boosted by hundreds of percents, and I am less surprised with time that Python is fast enough in almost all cases when it is used right. -
University of Canterbury, NZ
I go to the University of Canterbury. According to the IT department website they run 6 seperate computer labs of with 366 PCs and 62 Macs. This does not include the Computer Science dept which run their own labs with 130 'Intel Pentium-4 workstations' running Red Hat. They also have another 35 PCs (WinXP) and 5 Macs. The Maths dept also have some of their own computers which run Linux, Unix and Windows. I'm sure how hard the University by recent virii but as I have my own computer which I tend to keep up to date with patches, I've never had any problems connected to the network. Only annoying thing is that they charge me 7.5c per MB for international traffic.
-
Re:Um...Python?
Pyrex is a Python compiler
not according to the language overview i found on its website it isn't. it's a compiler for something quite a bit like Python, but - again, according to the website - it's meant for doing something different from what Python is meant to do.
don't get me wrong; Pyrex looks like a very interesting project, and i'm glad you pointed me to it (i really hadn't known it existed), but a Python compiler it ain't. Psyco comes much closer to being a Python compiler, but still falls short.
if this is really "very well studied", as you claim, how about just dropping me a few references to the studies? that'd be more convincing, and might actually teach me something.
-
Re:Um...Python?
Pyrex is a Python compiler
not according to the language overview i found on its website it isn't. it's a compiler for something quite a bit like Python, but - again, according to the website - it's meant for doing something different from what Python is meant to do.
don't get me wrong; Pyrex looks like a very interesting project, and i'm glad you pointed me to it (i really hadn't known it existed), but a Python compiler it ain't. Psyco comes much closer to being a Python compiler, but still falls short.
if this is really "very well studied", as you claim, how about just dropping me a few references to the studies? that'd be more convincing, and might actually teach me something.
-
Re:Logo?
Having used Qbasic prior to logo, I hated logo. It was the most horrible programming experience I have ever had!
Try Python instead:
print 'Hello, World!'
And python can create much more advanced programs easily with it's "Batteries Included" philosiphy.
For a gui designer/ide try Boa Constrcutor.
For creating extension modules check out Pyrex A tip for Pyrex: If you're using windows use the free-of-charge Borland C compiler. -
Re:File system ?
Hey, don't make fun of my country. There is a whole lot more happening in New Zealand than just Stonehenge v2.0a and Weta Digital. We have... uh... lots and lots of other interesting things going on... like The Second International Symposium on Transportation Network Reliability for example.
-
Re:Python and large desktop appsI've looked at the output of some code from psyco and it looked just like C
Oops, I meant pyrex, not psyco. Haven't looked at psyco yet.
-
Re:Python and data typesYou're already proposing several solutions, as others are as well -- SDL (probably most accessible through PyGame), PIL, Numeric, some extensions available through SciPy, and eventually moving into things like PyTables or even lower-level functionality like array or ctypes, there's also the possibility of coding in C or another compiled language, or using Pyrex. for some easy-Python-integration goodness, or Psyco which can do some pretty magic stuff in select situations.
No, it's not like MATLAB -- Python is a general-purpose language. If you want MATLAB, then you're looking for a more specialized environment, like SciPy (maybe using iPython to provide a nice interactive environment). As a MATLAB replacement, Python is probably a work in progress.
If you want homogeneous collections with fast transformations, you must do it with somewhat opaque containers like Numeric, where anything that runs inside the inner loops of transformations is written in a very fast language. (Oh, I just remembered Weave) This is true in Lisp as well, though Lisp has also had compiled forms which are pretty quick.
Anyway, lots of options. Stop complaining and enjoy what you got!
So, is Java really better? I honestly don't know the scientific or image processing domain, so I don't know where Java's at there.
-
Re:on par with TCL except for C
Why would you use the Python C API when there is Pyrex? Surely that's easier to do than the TCL API with its stubs weirdness.
-
Re:Silly trolling article writer.
-
Re:on par with TCL except for C
Try: Pyrex
or as mentioned, try Boost's Python if you prefer C++. -
Re:About the Python performance
You could also use pyrex and save yourself the troubles of dealing with the Python/C API.
-
Re:After thinking about it...
-
Pyrex also is worth consideringPsyco has been already mentioned. Another interesting approach to opptimising python code (only if and where it is too slow) is Pyrex". Unlike Psyco,it requires small changes (adding some type information) to the code of the python modules you want to optimize, and then produces an equivalent (but faster) C module.
Still a work in progress, but interesting.
-
Re:possible improvements to python?The C API docs stink. There's not a single complete example in the doc tree (on python.org) that I've found -- just snippets here and there. There are references that extending Python is very simple (and, indeed, it does appear to be now that I've found sufficient docs) and there's even tools to automate most of it. But nowhere are the actual tools referenced/linked to, there are calls used without explanation or links to explanation, and the docs suddenly shift between extending and embedding without adequate differentiation.
You can find C extension examples in the Python source code (Modules/xxmodule.c, Modules/xxtype.c, etc.).
Also, you might find writing extension Python modules much easier with Pyrex.
This is a superset of Python that compiles down to C code, that compiles to extension modules.
Its a very neat language, and makes C extensions very easy and useful.
The disadvantages over using C directly that I see (I have by no means used Pyrex extensively):
Python object calls will be less efficient than extension C code. For example, calling my_list.append in Pyrex, where my_list is a Python object, will look up "append" in the object's dictionary in runtime, where a human programmer would use PyList_Append() avoiding the lookup.
It may require a bit of work duplication, requiring Pyrex declarations that duplicate existing header files of C functions and types you want to use.
-
There are not an infinite number of worlds
I like this argument I came up with a while ago:
Main Argument:
1) If there are an infinite number of worlds, then out of the possibilites there is a world that has the power to destroy all worlds already.
2) This world is still here.
3) Therefore, there are NOT an infinite number of worlds.
Corollary:
1) If there are an infinite number of worlds, there is a world where someone doesn't want you to ever exist.
2) You exist.
3) Therefore, there are NOT an infinite number of worlds.
This big of logic brought to you by the people who gave us: If A, then B. Not B. Therefore, not A.
We are all experience machines... -
Re:You can't. Don't waste your time trying.
Yeah, I thought it was one of the two. After googling it, it looks like you're right. Found an interesting page about a guy making a CF=>IDE adapter for his laptop.
I think a Smartmedia adapter would still be possible, just even more of a PITA to make. -
Re:Definitely useful
ttfkam wrote:
Do it in a higher-level language first. Make sure your algorithms are clean and efficient. If and only if you see a performance or resource problem do you rework portions(!!!) in C. As a bonus, the higher level language acts as a code template for faster C development.
Amen.
Kragg wrote (in his reply to ttfkam):
Prototyping in a higher-level language (c# is easy, java everyone knows) is a superb idea, provided you
- can release the final product as interpreted, with slow execution speed
Most programs spend 90% of their CPU time executing 10% of their code. If that 10% is optimized in a low-level language such as C, a large-scale interpreted program can boast performance that's virtually indistinguishable from an equivalent program written entirely in a low-level langauge. However, there's likely to be a huge difference in programmer productivity.
As a reference, see this Dr. Dobbs article, which states:
""" ... 90 percent of the software's running time occurs in only 10 percent of the code. This is the whole basis for virtual memory: Potentially, a program can run at full speed with only 10 percent of itself--or whatever the working set is--loaded into memory at any given time. Unlike that nasty segment stuff, the programmer does not specify any of this in advance. The operating system "discovers" a program's working set on-the-fly, through page faults.
"""
- can afford the time to port all to C, in which case DO, this is an excellent way to make a watertight C program
Why port 90% of the application's code to a low-level and less productive programming language, when that 90% will inevitably evolve and require maintenance as the program is utilized in unforeseen ways? I've never written a large program that didn't end up having features added incrementally over a long period of time after the initial release.
- are happy to learn how to make managed code/vm code call to native and vice-versa (this is far from a trivial problem)
If it's "far from a trivial problem", you're using the wrong tool.
Take Python, for example: it's simple to interface between Python and C using Python's C API. Recently, a tool named Pyrex has appeared that makes it almost trivial. Pyrex is amazing.
Kragg suggested prototyping in C# or Java, but Python surpasses both of those as a prototyping tool. Python is higher-level than C# or Java (and thus better suited to prototyping and/or malleable fusion with C) because it features:
- dynamic typing ("dynamic", not "weak" like Perl)
- no obession with a particular programming paradigm; use procedural, functional, or OO as appropriate
- high-level data structures built into the language
- more convenient dynamic code loading
- interactive development at a "Python prompt" (the value of this cannot be overestimated)
- no separate compilation step in the edit-test-debug cycle
- more concise syntax
- excellent interface capabilities to C (or C++ via Boost.Python, or Java via Jython)
I suggest that the fusion of a truly high-level (higher than Java-level) language with C is far more broadly applicable than Kragg claims. -
Re:More importantly....
``Converts the energy
... directly into mechanical motion''? I guess this would be sort of like the little solar engines, that have paddles which are shiny on one side and black on the other and spin in sunlight?
You fool! Any 3rd year Physics minor knows that you can harness the limitless power of the Sun using a Stirling Engine for limitless power! -
Re:problems with loops?I think we was talking about "inner loops" -- a classic speed problem for languages like Python. For example, Python is very bad at something like:
i = 1
for j in xrange(1000): i = i + some_func(j)Dumb example, but it more or less shows the issue... when you are dealing with data structures the overhead of the loop isn't that significant (e.g., doing list manipulation). But when you are dealing with numbers there's the potential to be much more efficient, and Python's for loop overhead will be very significant.
Of course Numeric Python can solve many of these problems, as can SciPy's weave and Pyrex, which compiles psuedo-Python to C. You can also program your inner loops directly in C, and make a Python module out of it. Or even write the module in Fortran.
Python clearly isn't a good language to write number crunching algorithms. But it's great for using those algorithms -- and it makes it possible (and relatively easy) to mix in other languages that are good for those algorithms.
-
Found a few..
After poking around in the links in the article about the AD2818 EZ-Kit Lite that ran yesterday, I found that there is a version of GCC for several of the Analog Devices DSPs, called G21. It seems pretty old, however (1995), so it probably won't support their latest whiz-bang DSPs.
C4x GNU Tools appears to have the same thing for various TI DSP lines and appears to be better maintained.
I found these sites by searching google for "analog devices dsp gcc" and "ti dsp gcc." ;)
Ian -
Re:Why so differentIf your bank requires IE, maybe you should consider a new bank? I mean that may seem drastic, but if they are uncapable of supporting the system your business wants to use, I'm sure another bank would be happy to hold on to your money.
My bank (BNZ - Bank of New Zealand - yes. I live in NZ) have internet banking software written in Java (an applet) that only works with IE and Netscape on Windows. Now, Java is supposed to be platform independent - there can't have been much stopping the Java banking applet from working under Linux. And there wasn't. I tried to tell them about it but they didn't care. I decompiled their applet, fixed it for them, and told them (and others) about the fix.
They still didn't care.
-
Learn Scheme & Computer Science at the same timeScheme is a very elegant member of the LISP family that's used to teach and explore advanced programming and computer science at many universities, including MIT, Yale etc. The basics of Scheme are easy to learn, and the language is mind-blowingly powerful. Learning Scheme is guaranteed to expand your programming horizons. Plus, there's a wealth of good Scheme tutorial information on the web:
- "Teach Yourself Scheme in Fixnum Days": A comprehensive tutorial
- "The Scheme Language": a shorter tutorial
- "Invitation to Scheme": yet another tutorial
- The Scheme Language Standard, "R5RS", is actually surprisingly readable, at about 50 pages. Here's a PDF of R5RS, which is useful to have around if you're actually using the language.
- The Structure and Interpretation of Computer Programs (SICP) - a.k.a. the wizard book, a very worthwhile and enlightening book, used as an introductory text at MIT. It's available on the web, but it's not a light or quick read.
- How to Design Programs (HTDP) - a book that teach program design techniques, using Scheme.
-
Re:Plan of attack
Couldn't agree more. Anything not directly associated with the CS dept. is likely to be a serious mistake if you want a career as a techie. (ie, programming, not just managing programmers.) What you get from a Computer Science degree are the fundamental concepts that help you learn new languages/techniques/etc. I always thought that Scheme might just be a waste of time, but over and over again I've found the concepts I used in writing good Scheme code (high-level stuff like abstraction & simplicity, as well as techniques like continuation/closure passing) useful in my every-day programming.
I disagree with you here. I am a BSc in Comp. Sci. and I included in my first and second stage es (it's a 3 stage degree here in NZ) Philosophy, Logic (2nd stage), Psychology, Cognitive Psychology (2nd stage), Statistics and Discreet Mathematics. Granted Stats & Math were quite closely related to CS courses, but the philosphy and psychology were also very useful and highly related. In philosphy and logic we went into such delights and programming Turing machines, proving computability, Godel numbers... in Cognitive Pshycology we went into such areas as Artificial Intelligence, perception (important for interface design), useability.
All of these courses helped and stimulated my mind immensly with respect to my CS major.
Not to mention, you go to University, not to learn how to do a job, but to learn how to learn.
Canterbury University CS Dept.