Course suggestions - Formal Methods

This is a discussion on Course suggestions - Formal Methods within the General Discussions forums, part of the Community Boards category; Hey all,
I recently completed modules at the uni which was all about Formal methods. Mainly discrete mathematics and the ...

Course suggestions - Formal Methods

Hey all,
I recently completed modules at the uni which was all about Formal methods. Mainly discrete mathematics and the logic representation. And the time has come to choose my second module. And I'm a bit confused to pick from among the modules.

I could either take a continuation from my previous module which is advance formal methods which goes through modelling system using and proving the logic works etc or I could other stuff like computer science related.

Before I make a decision, I wonder if anywhere here has done or used Formal systems or method in their uni or at work. Is there a use or market for just a abstract topic. I would rather be more interested in continues mathematics than discrete.

But if there is a demand for logic provers then perhaps its might be worth doing it. But I would like to hear from you guys to find out what you think about this topic?

Well, if it's any help to you... I've been an electronics technologist (engineer without a degree, bascially) for 30+ years, worked on all kinds of analog and digital systems and of course programed both when required at work and as a hobby... and I've never heard of "logic provers" or anything resembling it as a job description before...

The realities of software development are far more mundane... lots of text manipulation, data mangling and the occasional bit of arithmetic; add subtract multiply and divide, for the most part.

I should imagine there are jobs out there for high level mathematicians and Systems Analysts... but I doubt they even remotely approach a majority in the programming fields.

I quite see what you mean, I felt the same. I hardly ever see employers looking for people who studied discrete mathematics. I donít think even finance they use the discreet maths in that sense. I donít know why they still teach them in such great interest at uni's. I could make an attempt to learn it, but the dilemma is will be worth it at the end or just waste of time.

You will probably use more complex maths in game programming than you'll ever use in financial or database coding. The teaching of higher math and other essoteric difficulties isn't necessarily because they think they're turning out a big flow of genius level mathematicians... it's as much to stimulate, to challenge and motivate, than it is to teach math.

Think about it this way... when are you most "alive"... when reading some light fiction or when trying to solve a complex puzzle?

As for career oppotunities, I wouldn't be expecting to walk out of school straight into a physics laboratory or design level tasks in a major corporation... A far more likely outcome is that you'll land a low level programming job someplace, testing failed code or writing minor patches long before you get "the big job" they promised you and getting that big job may require carefully climbing the corporate ladder to get there (in other words... more politics than skill). It is rare indeed that someone starts at the top of their field...

University education was once described to me as "The search for genius and the motivating of everyone else."

I quite see what you mean, I felt the same. I hardly ever see employers looking for people who studied discrete mathematics. I don’t think even finance they use the discreet maths in that sense. I don’t know why they still teach them in such great interest at uni's. I could make an attempt to learn it, but the dilemma is will be worth it at the end or just waste of time.

ssharish

I don't know of any jobs in the corporate world that are purely discrete math. Most of those jobs remain at the university in teaching and research. That doesn't mean there aren't any, I just don't know of them. And that doesn't mean you shouldn't study discrete math. Study what interests you most. Studying what you want will make sure you remain engaged in school and get the most out of it (knowledge, GPA, graduate school, etc). And a degree in math, of almost any sort, will definitely allow you to get your foot in the door for a programming job. If possible, take a few programming courses, just so potential employers can be sure you know your basic data structures and algorithms, or even get a double major (I don't know how that would work in the UK school system). For most work, a heavy CS background is not really required. I've never had to implement a Red-Black tree or use the pumping lemma or prove something Turing computable in any job I've ever had. One of the best programmers I know has a degree in political science, and took some CS courses on the side. Also, doing some programming projects outside of school that you can show as proof of your skills to potential employers is a great idea.

As for use of math in the professional world, I use it all the time. Sure, I don't use much high level math, but I use components of discrete math often. I often go through an informal proof process when I'm considering an algorithm, I've used set theory, DeMorgan's law, etc. I wrote sales and financial software (used by car dealerships) for 4 years. I used tons of math for amortizing loan payments, calculating lease rates and residuals, etc. More algebra type math than the geometry type math that is used for much of the gaming applications. If you get involved in programming for engineering or scientific companies, you'll get to use lots of math too, though again, not necessarily discrete math.

Like Tater said, you probably wont start with the coolest job ever, but you can easily work your way up to a great job where you get to use all those skills.

@Swoorup: If you're good at what you do, you will have a stable career in virtually any industry. Do you think John Carmack will have trouble finding a job doing game programming if Id Software were to somehow go out of business?

I have not even started a bit yet. Gaming industry now requires programmer to have lots and lots of experience. I don't know but it seems so. And I have got 7 years at maximum to get a good job or career to support myself. Really worried about it. What field inside the IT field would you suggest?

I have not even started a bit yet. Gaming industry now requires programmer to have lots and lots of experience. I don't know but it seems so. And I have got 7 years at maximum to get a good job or career to support myself. Really worried about it. What field inside the IT field would you suggest?

There are lots of internships at gaming companies for inexperienced college students, than can lead to great full-time jobs at a gaming company. There are even some entry level jobs at those companies. But before you decide on that, I would suggest you go to school first, and take as many different classes as possible, even outside the IT field, and see what interests you most. Then, study that field. Possibly find a job in that field. You have the choice of A, studying and finding a job that makes you truly happy, despite possibly not making much money, or B, studying and making lots of money at something you don't like so you can spend it doing what you do like. If you go for an IT career, I suggest doing what makes you happy, since they are all fairly good jobs and will provide decent pay.

I have not even started a bit yet. Gaming industry now requires programmer to have lots and lots of experience. I don't know but it seems so. And I have got 7 years at maximum to get a good job or career to support myself. Really worried about it. What field inside the IT field would you suggest?

Why the time limit?

I didn't get my first "good" job until nearly 10 years after graduating...

As I metioned in another thread here, I started out driving an egg delivery truck.

Currently its the time of joining Uni. But I can't afford to take two subjects. I think have to stick to Computer Science and Electrical Engineering, but I am still unknown about the other courses. Most of the UNI seem to have that in common.

Currently its the time of joining Uni. But I can't afford to take two subjects. I think have to stick to Computer Science and Electrical Engineering, but I am still unknown about the other courses. Most of the UNI seem to have that in common.

Manasij Mukherjee | gcc-4.9.2 @Arch Linux Slow and Steady wins the race... if and only if :1.None of the other participants are fast and steady.
2.The fast and unsteady suddenly falls asleep while running !

Don't know if college will offer though.
The time limit is because I am afraid to end up as a failure. I know nobody will support me at that time. So have to think of solution that match up my interest with computers