Introduction to CSCI 1320 Dr Mark Lewis 1 12 2011 Opening Discussion I will start off every class with a little discussion Typically this discussion includes questions about the previous class Today I want to use this time to get to know a bit about you I d also like to give you a brief introduction to me so you can know some of the things that motivate me Course Basics Course web site http www cs trinity edu mlewis CSCI1320 S11 Office HAS 201K Office hours 1 30 4 30am MW 11 00 3 00 T Phone 7022 E mail mlewis trinity edu This is the best way to reach me most of the time There is a schedule on the web site listing all topics and when things are due There are also links to my lecture notes Text We will use An Introduction to Programming with Scala This is a book that I am in the process of writing You can get to the PDF under the Links page You will be expected to do readings from this book and we will be following it closely Course Description This course provides an introduction to programming with a primary focus on problem solving and logic The course will specifically teach you how to program in the Scala programming language It will also teach you to work in Linux in a command line environment and with basic text editors My courses tend to be somewhat rigorous My overriding objective is to make you think Because of the nature of this course I want to go beyond just giving you new things to think about but instead give you tools to think about things in new ways Creativity of CS Writing great programs is more art than science Computers are the ultimate creative medium and also the ultimate creative outlet The way we interact with them seems formal to some but there can be a lot of fun in just looking for ideal ways to express ideas in the formal systems of different computer languages I will try to let you express creativity in the assignments for this class Coding The largest chunk of your grade in this class is determined by the 4 assignments that you will do over the course of the semester You will also be expected to complete 10 interclass problems These are mostly small problems that you will solve by writing code but some will link together allowing you to produce a larger product You can work with others on design and get help on specific problems but what you turn in for assignments must be your own construction Everything you turn in for a grade is pledged if you are under the honor code IcPs can be done with others Grading Your grade comes from five different components Assignments 4 40 Tests 2 30 Quizzes 6 with lowest dropped 10 Interclass Problems 10 Class Participation 10 The midterm and final are both equally weighted More on Grades The quiz questions are modeled after test questions so you will have an idea of the style to expect on the test Class participation includes attendance and your actual participation during class Interclass Problems On the Show Your Code days I will call on roughly half the class randomly to present their answers Each of you will be called on a total of five times with each time being worth two points to your final average You should do all the IcPs Environment We will be using Linux for this class and programs will be written in Scala I will teach you how to get around in Linux with the command line as well as how to compile and run programs Your programs must compile and run on these machines with Scala 2 8 You should get an e mail giving you your Linux password before next class It will come from root and contain only a password That way you can all follow along with what I m doing Computers Term used to be a position that humans could hold They facilitate dominate every facet of your life even when you don t realize it All modern computers use some derivative of the von Neumann architecture This is a fetch execture store setup with a single bus The languages we use to communicate with these machines have evolved over time We are currently seeing a massive move from serial to parallel computation Integers and Bases At a certain level all that computers do is manipulate symbols Typically these symbols are numbers stored in binary format The advantage of the computer is that it can manipulate these numbers with blazing speed Let s take a minute to review the concept of integers and different bases Why Scala This class is about basic programming We have used C for many years for this but it doesn t extend well into the second semester We are looking at possible alternatives Scala being one of them Benefits of Scala Low cost of entry Supports programming in the small Static type checking Sits on Java cross platform and powerful Minute Essay I will end every class by asking you to write a few sentences on one or more questions I also use this to keep attendance so make sure your names are on what you give me Do you have any questions about the material presented today What do you want to get out of this course Remember to read chapter 1
View Full Document