Class Notes (811,705)
Canada (494,883)
CS 138 (14)

Data Lecture 1.docx

5 Pages
Unlock Document

Computer Science
CS 138
Michael Godfrey

Data Lecture 1 Tuesday, January 8, 2013 Course info  Tutors o Chantelle Gellert  [email protected]  MC4065  Course web pages o o  Marks breakdown o 50% Exam  Must pass to pass the course o 30% Assignments  6-7 Assignments o 20% Midterm  Course material overview o C++ boot camp, with soupcon of Unix o Scopes, stack frames and C/C++ memory model o Abstract data types (ADTs), intf. vs. impl.  Stacks, queues, priority queues, trees, BSTs  Recursion, functional vs. iterative approaches  Linked structures, pointers o OOP, classes, and objects  Constructors, destructors, DIY memory management, access rights  Intro to inheritance and polymorphism (more in CS247)  Generics and STL containers (vectors, strings, maps, steps) o ….  Books th o Absolute C++, 5 ed., by Savich (Addison-Wesley) o Thinking in C++ by Bruce Eckel o Check out CS247 webpage  Software o C++ and Marmoset  Assuming the use of g++ compilers  C++ compiler from GCC suite  C compiler is called gcc  Free download from Unix and the Unix Shell Core material  Chart o Operating systems and shells o Humans don’t interact with raw OS directly  Use native OS GUI or shell o Applications can talk to raw OS or OS GUI or CLI (shell scripts) o Mac OS X has two layers: GUI sits on top of BSD Unix  Similarly, Android sits on top of Linux  Windows 95/98/ME did same thing with DOS but less well  IOs and WinXP…  Unix history o Unix/C developed together in early 1970s at Bell Labs/AT&T in New Jersey  Developed by Thompson, Ritchie, Kernighn, Pike… o UNIX is not an acronym  Play on MULTICS o C++ was also developed there by Stroustroup et al. o Unix varients  BSD Unix  Late 1970s at UC-Berkeley  Reimplementation with brand new code and new design ideas  Free/Net/Open BSD projects later forked from this  NextSTEP based on BSD and current Mac OSX based on NeXTSTEP  Solaris/SunOS  Early 1980s, Sun Microsystems, now Oracle  AIX, HP-UX, SCO…  Other commercial Unices  Linux  Mid 1990s, open source project  Android, KindleOS based on Linux  BB10 based on QNIX  GNU/Linux o GNU utilities developed to run on top of Unix  Some are re-implementations of standard closed-source Unix tools like ls, cp, cd…  But Gnu’s Not Unix [RMS]  Huge debt owed to GNU for GCC and many other “open source” (free sw) tools o What is Linux?  Technically OS kernel  Not very useful without shell, compiler, CL utilities…  Linux distribution  Thus also contains a truckload of “free sw” (mostly GNU) so that people can actually use it  RMS thinks we should use term GNU/Linux rather than Linux  Unix shell o sh “Bourne shell”  First practical, widely-used Unix shell  Later relatives of sh: bash (Bourne again shell), ksh (Korn shell)  Originally meant for programmers to write shell scripts  Other common shells, csh, tcsh  ….  Unix file system o Pretty much all OSs have file system of some kind  Even iOS does, but hidden from users  In small Oss, it’s often a single flat space  Tree-like hierarchy of directories o Show terminal and Finder views  Show nautilus for Linux o Your home directory is where your stuff is sorted  Not system stuff, and not stuff of others who use yur computers  /Users/migod on MacOS  /home/migod on desktop Ubuntu Linux box  /3/migod on plg o Can reference home dir by ~ or $HOME  $ cd ~/Documents/MyBigNovel  and ~fred is home directory of Fred  Commands in Unix s
More Less

Related notes for CS 138

Log In


Don't have an account?

Join OneClass

Access over 10 million pages of study
documents for 1.3 million courses.

Sign up

Join to view


By registering, I agree to the Terms and Privacy Policies
Already have an account?
Just a few more details

So we can recommend you notes for your school.

Reset Password

Please enter below the email address you registered with and we will send you a link to reset your password.

Add your courses

Get notes from the top students in your class.