180 likes | 293 Views
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.
E N D
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 onMathematics & 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.