Thoughts for Freshmen - College of Computer and Information

Download Report

Transcript Thoughts for Freshmen - College of Computer and Information

Thoughts for Freshmen
In CCIS
The Goal: Empowerment
•
•
•
•
•
•
Acquire powerful patterns of thinking
Gain knowledge & perspective
Experience personal growth & maturity
Learn to balance work & play
Solve the problems that show up
Be “self actualizing”
• ... Avoid sadness and regrets
What about Fundamentals I?
• Fundamentals I is all about the development of
powerful patterns of thinking
• What is data?
• What is behavior?
• Why the structure of behavior must parallel the
structure of the data on which it operates
• Designing programs to be clean and elegant
Reading How to Design Programs
• Technical books such as HtDP must be read at
least 3 times
– Step 1: Read a chapter quickly to seek out the key words
and ideas that occur repeatedly. Note these ideas either
by highlighting or by making notes on paper.
– Step 2: Reread the chapter to examine the examples in
depth. Type the examples into Scheme and see that the
examples behave as advertised.
– Step 3: Reread the chapter again to try problems of your
own design or homework problems assigned
• The aim: Nail down each chapter ASAP
It is easier to get an A than a C
• If you act as an A student, you nail down each
chapter as you go, and the next chapter is far
easier because you have a firm foundation.
You know exactly what principles you can trust.
• If you act as a C student, every chapter is only
partially learned. Your brain is in a constant fog.
You are confused by more advanced concepts
since you don’t have a firm grasp on the basics.
This is frustrating and emotionally painful.
What if I don’t like programming?
• Is this a decision to make in 4 weeks?
• Computers & software pervade the entire world
of business and many personal activities as well.
You will be living in a software world.
• The IT (information technology) field is vast and
only a subset of people write substantial code.
There is plenty of work to do besides coding.
• However, if you don’t know the fundamentals of
programming, you can’t join the conversation in
any IT field and you are left on the outside.
Is Scheme important?
• Why don’t we just learn the language of the day?
... C, C++, Java, C#, Perl, Python, Ruby, XML?
• Because the goodies these languages provide
come mixed up with complexity and mess.
• Scheme has a powerful language paradigm and
minimal syntax. Knowledge of Scheme helps to
make someone a better programmer in other
less expressive languages.
• Listen to the words of Microsoft’s Don Box ...
Extract of Don Box Comments
• Learn Lisp or Scheme – Way ahead of their time
– “Learn Lisp or Scheme. I would prefer Scheme but
Common Lisp would be OK too. Those guys figured it all
out. Back in the 70’s ... If you go back and read ‘Lambda
the Ultimate’ papers, you really see that WOW they really
figured out all of this meta-programming, data-driven-ness,
code and data being the same. All these ideas that you
are seeing people discover in this generation was actually
already done. So you can kind of short cut in figuring out
where we are going by reading about where those guys
were back then.” [from TechEd 2005, Talk # CSI 356]
– Don Box is a world famous guru of web standards and
XML who currently works for Microsoft.
Will I learn other languages?
• Yes
• Java in Fundamentals 2 and OO Design
• Later courses will use other languages but will
expect you to pick them up quickly.
– C in Computer Organization and Systems & Networks
– C# in the Web Development elective
• You will also learn languages on co-op and by
taking on special projects.
• Nevertheless the real learning is how to think
and how to solve problems.
What about Discrete Structures?
• Mathematics is fundamental to all scientific and
technical work on this planet.
• Mathematics is the science of symbols.
• Without symbols, there is no CS and no IS.
• Mathematics is also a hard won set of theories,
results, formulas, and processes that make it
possible to understand and work with many
different things in many different activities.
• Don’t leave home without mathematics! 
The Mathematical Progression
• Discrete Structures: The discrete foundation.
• Symbolic Logic: Systematic logical reasoning.
• Computer Organization: Logic as applied to the
design of a machine capable of computing and
manipulating symbols.
• Calculus: Continuity, curve tangents, curve area.
• Probability & Statistics: Applications of discrete
and continuous thinking to computing probability
or estimating probability from statistical data.
R. W. Hamming on
Mathematics & Computing
• The purpose of computing is insight,
not numbers
– Numerical Methods for Scientists and Engineers, 1973
• Amusing variant:
– The purpose of computing numbers is not yet in sight
What about English?
• English is not only the language of the US, it is
also the most common language spoken
internationally.
• Mastery of English, both spoken and written, is
essential for success in the business world.
• To be blunt: If you cannot write, you cannot get
any project funded. If you cannot speak, you
cannot defend that project to others later on.
• Don’t leave home without English! 
Solving the problems that show up
• Problems will show up.
• When a problem shows up, admit it.
• Don’t use a problem to “beat yourself up”. That
is not an effective strategy.
• A problem is an opportunity for personal growth
so take advantage.
• Assess all your options for solving a problem
and choose the ones that you honestly feel will
work the best. Why fool yourself?
Not so good problem strategies
•
•
•
•
•
•
Pretend it doesn’t exist. 
Sleep in and miss classes.  
Hand in homework late or not at all.  
Blame someone (mom, dad, friend, teacher). 
Talk to nobody.   
Pretend it doesn’t exist. 
• You notice that the strategy program has now
gone into an infinite loop.    
Better strategies
• Come talk to someone if:
– You are reading but do not understand the material.
– You are not getting started on homework.
– Your homework is taking way too many hours.
• People to see:
–
–
–
–
–
The professors: Felleisen, Shivers, Fell, Aslam
The teaching assistants
The undergraduate tutors
Rasala, 202A WVH, Pat Hinds, 202 WVH
Mark Erickson, Nora Jemison, Lindsey Darin: 302 WVH
Also ...
• Come to talk to someone if:
– There are personal issues that are messing up your work
or your life
• People to see:
– Rasala, 202A WVH, Pat Hinds, 202 WVH
– Mark Erickson, Nora Jemison, Lindsey Darin: 302 WVH
– We can if need be refer you to counseling services at the
university
Please ...
•
•
•
•
Be empowered and self acutalized.
Fix problems as they show up.
Balance work with play and physical exercise.
Make friends and join student activities such as
the ACM chapter.
• Get everything you can out of CCIS and the NU
experience.