On Sun, 22 Apr 2012, Chris B. wrote:
I'm a little lost on this subject and I was hoping for some guidance.
I'm a highschool sophmore in Clay County and have started to consider
options for my tertiary education.
I think, at this point, that I would like to major in Computer Science.
Does anyone know if there any pitfalls to said major?
Also, which University/College would you reccommend? From my
understanding, UF has a great reputation for having great resources in
their labs and on campus. That being said, they do not provide as many
financial opportunities as other schools will to those enrolled the AICE
program at FIHS. UNF will be more affordable, but I am not aware of any
possible isuues with their educational programs.
What are you thoughts on this? I will most likely be sending
applcations to both next year. Should I consider any other schools in
Florida for Computer Science?
Hello Chris. I'm going to reply to you on the mailing list, rather than
directly to you, since there might be others in your position that are
lurking on the mailing list who might have similar questions.
The important thing to know about studying for a BS in computer science is
that it isn't a trade school that will teach you to develop software. CS
is, at its core, an applied mathematics degree. It is a degree that
focuses on providing the tools that you'll need to solve complex problems
by systematically breaking those problems down into smaller, more
manageable ones. Over the course of your degree you'll learn a few
different programming languages, but the focus isn't on teaching you the
syntax of a particular language. Your first CS 101 course will probably
go in-depth with a particular language to teach you the basics on using
it, but later courses will use other languages and it will be up to you to
map the knowledge you have of one language to that of a new one.
The Association of Computing Machinery (ACM) provides a set of guidelines
of coursework that a good CS program should contain. You can see one of
the guideline documents at:
http://www.acm.org/education/curricula/ComputerScience2008.pdf
Most CS programs will cover the majority of what you see here as "core"
areas of study. It's a pretty dry document, so don't worry about the
details of what is in there. The important thing to realize is that CS
covers a lot of stuff, and is fairly broad in nature.
A typical CS degree has about 120 semester hours of study. Since the
majority of classes are 3 semester hours each (meeting for 3 hours each
week for a semester), you can expect about 40 classes during your degree.
Some classes deviate from this, of course. For example, a calculus class
is typically 4 semester hours, but a science class (chemistry, physics,
etc.) may also require a lab that grants no credit at all. If you pace
yourself at the rate of 5 classes per semester, you'll be done in 8
semesters, or four years.
The good news is that the material that you will learn at most
universities will be on par with that of other universities. The bad news
is that not every learning experience will be the same. At a larger
school like UF, the classes are much larger and you'll have a more
difficult time asking the professors questions. The entry-level classes,
such as CS courses for freshman, will often be quite large. For these
courses, the university will assign a graduate student to act as a
teaching assistant (TA) to answer your questions and assist you with
projects and homework. As you progress through the program, your class
sizes will become much smaller due to people dropping out of CS to
different majors, so you'll get easier access to your professors.
At a smaller school, like UNF, you'll see that the class sizes are much
smaller. You'll also see that courses are offered less often. While a
big school like UF can offer a class on, say, operating systems every
semester, UNF might only be able to offer it once per year. This
generally isn't too big of a problem, since the CS department plan these
schedules out years in advance (the semester something is offered, not the
exact time) so you'll have a rough idea of what you are taking and when.
Bigger universities, like UF, do have much more in the way of lab
facilities. But, this doesn't mean that you'll see a big difference in
your education by attending a smaller school like UNF. You see, after
your first semester or so, you'll probably be spending as little time in
the lab as possible. The shine of being at school is going to wear off
quick. Very few students spend a lot of their idle time in the computer
labs, though you'll occasionally see someone tinkering with their own
projects on evenings and weekends. Generally, the facilities at a
university will be "good enough" for whatever you might need to do, so you
don't need to worry about it. CS has very minimal requirements for
equipment. You'll need access to a Windows PC and a Unix terminal of some
sort, and you might have access to a lab or two with some hardware for
digital design. But really, that's all you need.
UF is a very good school, but very big. UNF is a nice, small school (I
took some EE and CS grad courses there). UCF is a good balance between
the two (I took some CS grad courses there). I went to Embry-Riddle in
Daytona Beach for my BS in CS, and it was very good (but is a more
expensive private university).
A BS in CS will be composed of at least 25% of general education
requirements. These are classes that are not specific to your major and
are classes that everyone is expected to take. Examples of these are
courses like American history or English composition. These classes are
going to be quite similar to classes that you take in your senior year of
high school. Because of this, you can take CLEP exams to get several of
these courses out of the way.
http://clep.collegeboard.org/started
CLEP exams are definitely the way to go if you are a go-getter that paid
attention your senior year of high school. You can knock out a semester
of classes fairly quickly that way. You could also take something like
calculus I at FCCJ in the summer between high school and your freshman
year. You can still take the eight semesters to get through your degree
program, of course, but it makes it much easier if you only take four
courses a semester, rather than five. Most people would prefer to keep
taking five and just get out a semester earlier and get a job.
I busted my butt when I first got to school and was taking six courses a
term. After about a year of this, I was about ready to die. Take it easy
and pace yourself.
The CS major is pretty good. It gives a lot of flexibility as to what you
can do as a career. There is software development (web frontend/backend,
desktop applications, operating system device drivers, etc.), hardware
development (digital logic/design), network design and maintenance (system
administration, network architect), and bunches of little niches that
cross boundaries of all these areas. The Jacksonville area tends to be
more of a "blue collar" area with fewer CS jobs than other major metro
areas, but there are still jobs in the area.
Remember that there are a lot of people that graduate with a CS degree.
What makes the difference between the average people and the good ones are
what you do in your spare time. Writing toy programs and utilities,
playing wih hardware, etc. are all good ways to build up your resume.
Internships are good ways to make money and gain experience while still in
college. That work experience makes you way more attractive to
potential employers. The bigger universities like UF have research
projects you can jump in on and maybe publish a paper. When I was at
Embry-Riddle, I had my senior year tuition waived because I joined a
research project and was developing software for graduate researchers.
You'll get as much out of it as you put into it, so try to get the most
for your tuition dollar.
As a disclaimer, I am currently a PhD student in electrical and computer
engineering. I went back to school after about a decade of working in the
software development industry. So, I think that formal CS education is
pretty good. Some people prefer to learn on their own, but I think that
being part of a class, being forced to sit down and complete projects,
etc. is a good way to learn. It certainly motivates you to get the "dull"
parts done, rather than skip over them because they aren't fun. I didn't
learn as much from straight lectures and reading books as I did from doing
homework and course projects. A lot of CS is "hands on", particularly for
the later classes.
Good luck!
Andrew
---------------------------------------------------------------------
Archive http://marc.info/?l=jaxlug-list&r=1&w=2
RSS Feed http://www.mail-archive.com/[email protected]/maillist.xml
Unsubscribe [email protected]