41
PROF. DANIEL ERNST FEBRUARY 7TH, 2011 SUCCESS IN COMPUTER SCIENCE CS 146 The Big Picture in Computer Science

PROF. DANIEL ERNST FEBRUARY 7TH, 2011 SUCCESS IN COMPUTER SCIENCE CS 146 The Big Picture in Computer Science

Embed Size (px)

Citation preview

PROF. DANIEL ERNSTFEBRUARY 7TH, 2011

SUCCESS IN COMPUTER SCIENCE

CS 146 The Big Picture in Computer Science

Success in Computer Science

As an undergraduate CS student, you want a roadmap to success

Issue: There are many components to success in CS: Curricular Activities (Courses) Co-Curricular Activities Preparation for Post-Undergraduate Life Overall Planning

Curricular Activities

Curricular components Course and Program Selection Studying / Course Work Grades

Course Selection

Many major courses decided for you There are still some choices

CS Electives – how to choose? Explore current interests, possible areas of specialization Take courses useful for likely jobs Take courses to help prepare for graduate school (e.g. CS 450)

CS Comprehensive - ENGL 305 or ENGL 308 or CJ 202? ENGL 305 – Communicating Scientific Subjects to General Audiences

(communication –writing) Also counts toward GE 3xx-level requirement (Three 3xx-level courses)

ENGL 308 – Scientific Communication for Expert Audiences (communication – writing) Also counts toward GE 3xx-level requirement (Three 3xx-level courses)

CJ 202 – Fundamentals of Speech (communication – speaking) GE Courses – Strategies and Tactics

Take courses that you’re interested in Take courses that fit best with your major (and minor) program(s) Take courses that meet multiple requirements to free up other slots

Program Selection

Which major? Computer Science – Comprehensive (63 cr.)

Broadest array of computer science courses More mathematics, required Physics for science lab sequence Requires some other courses (communication, ethics) under GE

Computer Science – Software Engineering (39 cr.) Similar amount of computer science to CS-Comp.

Only differences: not CS 462 (Networks), one less CS elective Less mathematics, required Physics for science lab sequence Requires minor (24 cr.)

Computer Science – Computer Engineering (68 cr.) A computer science degree with an emphasis on computer hardware and

engineering issues Useful for working in computer hardware industry, positions including

hardware verification and testing Computer Science – GIS (68 cr.)

Combination of computer science + study of geographic information systems

Program Selection (2)

Which minor, if needed? Information systems

Complementary to CS, added understanding of business Mathematics

Additional problem solving tools for toolset, some practical applications (e.g. probability and statistics, digital signal processing)

Any area that you can combine with computer science E.g. Biology, Physics, Criminal Justice (Forensics), maybe

Materials Science in future? Any area that you’re interested in

E.g. Music, Foreign Language, others…

Studying and Course Work

Read assigned materials Several computer science instructors work primarily with PPT slides;

don’t forget how to read technical material!Review periodically

Helps anchor and integrate material Important with comprehensive nature of CS

Study with others (at least some of the time) Especially if you’re not well-disciplined at studying on your own Try to study with others at or above your level – this helps you to rise

to their levelStudy actively

Try to ask “what if” questions, e.g. Does this algorithm really work (correctly / efficiently)? What other approaches are there here? Is there a better approach possible?

Studying and Course Work

Participate in class actively Ask questions Comment where appropriate based on your own

experienceUnderstand what the instructor is looking for

Read carefully, solve the problem asked, not the problem you would like to see asked

Be complete, thorough and organizedUse a variety of problem solving techniques

(more later)

Grades

GPA review How is GPA calculated? How is GPA used?

Honors for semester, degree Internship and full-time job applications

Perhaps the most important factor!

Team Exercise Effect of bad first year Effect of one bad course on semester GPA

C if averaging B’s F if averaging B’s

Effect of one bad semester after three good semesters

Grade Point Exercise

First Question – Difficulty of Recovering from Bad Start

Assume 15 credits per semesterIma Student figures he can “catch up later” and

doesn’t need to take school seriously the first yearHas two semesters averaging 2.3 What does Ima need to average in his sophomore

year to raise his GPA up to 3.0 by the end of that sophomore year? Remember: many internship employers require/prefer a

GPA of 3.0

Divide into teams of 2-3, work this out

First Question – Answer

Freshman: 30 x 2.3 = 69.0 // 2.3 = C+Sophomore: 30 x ? = ?

Total Desired (by end of sophomore year)60 x 3.0 = 180.0

180.0 – 69.0 = 111.0111.0 / 30 = 3.70 // 3.7 = A-

Ima has a lot of pressure for the second yearLikelihood of accomplishing this is small

Second Question – Effect of One Bad Semester After Good Start

Assume 15 credits per semesterIma Student starts strong for three

semesters, but has a bad fourth semester due to family and health issues

Has three semesters averaging 3.2Fourth semester GPA is 2.5What is Ima’s GPA after four semesters?

Again, divide into teams of 2-3, work this out

Second Question – Answer

First 3 semesters: 45 x 3.2 = 144.0 3.2 GPA = ~B+ (a little less)

Fourth semester: 15 x 2.5 = 37.5

Total (by end of sophomore year)60 credits, 181.5 grade points

180.1 / 60 = 3.025 // 3.025 = B

Ima is still above the 3.0 threshold

Questions for Reflection

When is it easier to change/have an effect on your GPA – earlier or later in your university career?

Which semesters matter most in establishing a good GPA? Consider the mathematical reasons, but also

psychology and other factorsHow are you going to use this information in

your university career?

Grades (2)

How to get good grades in CS courses? Complete all assignments Do your share of the work (or more) on team

assignments Team projects will often ask for each member of the

group to anonymously evaluate all members’ participation

Make sure you learn the material; don’t leave unanswered questions Computer Science is very comprehensive!

Co-Curricular Activities

Co-Curricular Activities Club participation / leadership Part-time work Study abroad Internships Job Search

Club Participation and Leadership

Computer Science clubs Student ACM

ACM = Association for Computing Machinery, primary professional organization for computer scientists

Student club – social, service, educational, networking with other students, possible employers

Professional organization – separate student membership, access to magazine and CS literature

WITS (Women In Technology and Science) Similar – social, service, educational, networking All interested students welcome

Benefits of membership Meet other CS students Activities Opportunity to run for and be a club leader, help guide club in future

year(s)

Part-Time Work

Benefits Generate funds for school

But remember your primary goal – education Work should never be an excuse for not doing well in

school Obtain additional CS-relevant experience (if a job that

utilizes CS skills: system administrator, web developer, help desk staff, etc.)

Issues Can interfere with course work, especially group

meetingsOverall

Make sure part-time work is compatible with your course work

Study Abroad

Benefits Learning about another culture Experiencing the diversity of the world

Issues In past, often just GE credits Now, are some institutions that offer CS courses that may

transferRecommendations

Talk to your adviser early (freshman year) if you are interested in study abroad

Second-semester sophomore year is the best semester for study abroad Required course: one elective (CS 268 or CS 278) that can be

taken another semester, doesn’t interfere with prerequisite chain

Internships

Temporary work (often full-time during a summer, possibly including another semester) with an employer Can be for pay, credits, both Often summer after junior year, but can be after sophomore or even freshman year if you

have experience that matches employer needs Benefits

One of the important accomplishments in the eyes of companies hiring for full-time positions A good experience (from the employer’s perspective) on an internship is often the gateway to

a full-time job offer Opportunities to explore internships

CS Career Breakfast and UWEC Career Fair (late September) Internship Mania (February) Through Career Services online listings

Prerequisites Have a resume prepared, reviewed by CS faculty and Career Services

Often WITS workshops on this in fall before UWEC Career Fair In some cases, minimum GPA requirements (e.g. 3.0)

If want credit, must work with Dr. Jack Tan (CS Internship Coordinator) – do this in advance

Job Search

Necessary to be pro-active Can’t wait for employers to come to you

Same opportunities as for internships: CS Career Breakfast and UWEC Career Fair (late September) Internship Mania (February) Through Career Services online listings Also other contacts:

Employers speaking at CS 396 (Junior Seminar) Employers met through talks, club events, etc. Personal contacts

Prerequisite Again, having a good resume is key Also want strong recommendations from faculty May be minimum GPA requirements (e.g. 3.0) here too

After UWEC

Options: Job in CS Graduate School in CS or other area Job in another area

Job in CS

Many different possibilities Consider areas previously discussed

Application vs. systems Major CS employers

Marshfield Clinic (Marshfield, WI) Great Lakes Higher Education (Madison/Eau Claire, WI) Liberty Mutual Insurance Company (Wausau) Northwestern Mutual Insurance Company (Milwaukee) 3M Corporation (St. Paul, MN) IDEXX Systems (Eau Claire)

Other employers of CS students IBM (Rochester, MN) Menards / Midwest Manufacturing (Eau Claire) McKesson Surgical/Medical (Minneapolis) C.H. Robinson (Minneapolis) Silicon Logic Engineering (Eau Claire) Many others…

Graduate School

Approximately 5-10% of CS students go directly on to graduate school in CS

Worth considering if interested in teaching, research, or advanced/focused work

See: http://www.cs.uwec.edu/~wagnerpj/talks/GradSchool.ppt for more information (Student ACM talk given by Dr. Dan Ernst and Dr. Paul Wagner of UWEC CS)

Will need recommendations from faculty

Job in Other Area?

Always possible to use CS as a supplement to a job in another field

Students have gone on to jobs such as: Teaching English in foreign countries Document translation Web design

Issue Easy to get stale technically, may limit future options However, CS knowledge is always helpful

Planning

Planning includes: Considering options Making choices Being an active participant in your undergraduate

education Organizing your time Thinking ahead

Considering Options

Choices are made out of all available optionsMake sure you don’t limit your optionsExamples:

Student not attending class and not doing well Student not attending class but doing well in class –

later issues Student not attending class but not officially dropping

Goal: leave yourself more options where possible

Making Choices

Carefully consider each option for: Advantages Disadvantages Other implications

Consciously choose and act on the option you prefer Ownership translated to success

Being Active

How you can you be active in your CS education?

Many ways: Active participation in class Active consideration on choices for major, minor, CS

electives, GE courses Active consideration of co-curricular options

While making sure that all choices reasonably fit within your schedule

Talk to instructors, understand the course requirements What accomplishments expected? What participation expected?

Organizing Your Time

Treat studying and review like a class Set aside standard periods of time each week to work

on your coursesFor team projects, communicate with team

members to identify common times to meet regularly Requires flexibility and cooperation

Budget time for everything, including co-curricular interests

Thinking Ahead

Your undergraduate career is a “knapsack problem” Knapsack problem – famous CS optimization problem

Many objects of different weights and values (not proportionate); all have some value...

How to determine the optimal set of objects to put in your knapsack/backpack that will give you the most value while staying within a given weight limit?

We really need a “forward advising” system to supplement degree audits Backward advising – how does what you’ve done fit into a

degree plan? Forward advising – what should you do and when should you

do it to successfully complete a degree program?

Thinking Ahead (2)

Putting it all together Consider your options regularly Develop a plan early, but be ready to change it if

necessary (and reconsider it regularly) Develop the discipline for completing course work,

participating in class, and active learning that will allow you to succeed in CS

Make sure you keep your options open Don’t back yourself into a corner with no/few options

Thinking Ahead (3)

Key Timeline Items – Sample Schedule Freshman year

Do well in your courses! Consider exact major, minor, clubs, work, study abroad, act on some…

Join SACM and/or WITS Sophomore year

Continue to do well Develop your resume Study abroad 2nd semester if desired Run for office in club

Junior year Continue to do well Update resume, investigate internship possibilities Apply for internships Do internship – summer

Senior year <you get it…> Update resume, investigate full-time job possibilities Apply for full-time job Graduate, start that job…

AUGUSTA ADA KING,COUNTESS OF LOVELACE

(1815-1852)

Computer Scientistof the Week

Ada Lovelace

Born Augusta Ada Byron:Only (legitimate) child of the famous poet Lord Byron.

Her father left when she was 1 month old, died when she was 9.

Her mother, fearful that Ada would also get the “poet gene”, immersed her in mathematics from an early age.

Analyst, Metaphysician, and Computer Scientist(?)

Training and Family

By 17, she was an accomplished Mathematician Among her tutors was Augustus De Morgan

At that time, she met Charles Babbage, who was impressed with her intellect and they began corresponding regularly.

In 1835, at 19, she married William King, who became the first Earl of Lovelace.

They had 3 children, born between 1836 and 1839.

All indications were that she “ran the show”.

The Analytical Engine

In 1834, Babbage came up with the design of the “Analytical Engine”. His Parliamentary sponsors wouldn’t fund its creation

because he hadn’t finished the Difference Engine yet.In 1842, Italian mathematician Luigi

Menebrea wrote a memoir (in French) about Babbage’s Analytical Engine.

Babbage asked Ada Lovelace to do the translation of Menebrea’s work to English, with annotations.

Ada’s Notes

Over the course of the next year, she performed the translation, but also appended many of her own notes.

The Notes, when completed, were longer than the original text, and included striking observations about the Analytical Engine. Most commonly cited: An algorithm to compute Bernoulli

Numbers using the Analytical Engine – considered by many to be the “first computer program”.

Ada saw far more potential from the machine than Babbage did, and she was better at articulating it.

Legacy

Died of cancer in 1852Considered by many to be the

“First Computer Programmer” Some claim that she was also much more involved in the

design of the Babbage engines than was previously believed.

The US Department of Defense’s official language is called “Ada”

Since 1998, the British Computer Society has given out a prestigious award in her name

Ada Lovelace Day – March 24th.

AUGUSTA ADA KING,COUNTESS OF LOVELACE

(1815-1852)

Computer Scientistof the Week