Cs 141 introduction to computer science and structured programming l.jpg
Advertisement
This presentation is the property of its rightful owner.
1 / 30

CS 141 Introduction to Computer Science and Structured Programming PowerPoint PPT Presentation

CS 141 Introduction to Computer Science and Structured Programming Dr. Randy L. Ribler Lynchburg College First Reading Assignment Read Bronson Chapter 1 Today’s Topics Studying computer science Careers in computer science CS141, and where it fits in Hints on how to succeed in this course

Download Presentation

CS 141 Introduction to Computer Science and Structured Programming

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cs 141 introduction to computer science and structured programming l.jpg

CS 141Introduction to Computer Scienceand Structured Programming

Dr. Randy L. Ribler

Lynchburg College


First reading assignment l.jpg

First Reading Assignment

  • Read Bronson Chapter 1


Today s topics l.jpg

Today’s Topics

  • Studying computer science

  • Careers in computer science

  • CS141, and where it fits in

  • Hints on how to succeed in this course

  • Compilers and Computer Languages


What is computer science l.jpg

What is Computer Science?

  • Computer science is the study of computers and computer software.

  • It is really more like an engineering discipline than it is like a science.

  • Computer science is a very new field of study, yet it already has scores of subfields


A sampling of subfields in computer science l.jpg

A Sampling of Subfields in Computer Science

  • Artificial Intelligence (AI)

  • Software Engineering

  • Human-Computer Interaction (HCI)

  • Parallel Processing

  • Computer Graphics

  • Computer Aided Design (CAD)

  • Compiler Development/Tools

  • Robotics


Slide6 l.jpg

  • Simulation

  • Performance Analysis

  • Operating Systems Design

  • Speech/Natural Language Recognition

  • Database Design

  • Theory of computation

  • Virtual Reality (VR)

  • Computer Architecture

  • Web-based Technologies

  • and many, many more.


What do these subfields have in common l.jpg

What do these subfields have in common?

  • Programming is central to almost every one of these subfields.


Good things about computer science l.jpg

Good things about Computer Science

  • You might really enjoy it!

  • It is a very dynamic field

    • but the “basics” tend to stay the same

  • It is an applied “science.”

    • You should be able to apply virtually everything you learn.

  • It can provide a very good career

  • It can support work in virtually every other field


Programming can be a very creative process l.jpg

Programming can be a very creative process.

  • Programmers are writers and engineers.

  • There are many, many ways to accomplish the same task.

  • Computer science is very new. There are a lot of opportunities to be innovative.

  • You can build new products without investing a lot of cash.


What do cs majors do when they graduate l.jpg

What do CS majors do when they graduate?

  • Most are hired to develop software (program)

    • Productivity Programs

    • Operating Systems

    • WEB Applications (e-commerce)

    • Computer Graphics

    • Artificial Intelligence

    • Medical Software (CT Scan, MRI)

    • Aerospace Applications

    • Computation Biology

    • Research

    • Embedded Systems

    • Military Applications

    • Business Applications

    • Educational Software

    • Games

    • Movies/Entertainment


What do cs majors do when they graduate11 l.jpg

What do CS majors do when they graduate?

  • Some work as network and system administrators

  • Some go to graduate school

  • Some get research jobs

  • Some teach

  • Some start their own companies


The outsourcing scare l.jpg

The Outsourcing Scare

Media Stresses Threat

to US Jobs


Employment outlook is very positive for computer science graduates l.jpg

Employment Outlook is Very Positive for Computer Science Graduates


National trends in computer science enrollment l.jpg

National Trends in Computer Science Enrollment

  • Enrollment Trends 2000-2005

    • 50% reduction in enrollment in CS courses

    • 70% reduction in major declarations


Why is cs141 important l.jpg

Why is CS141 important?

  • It provides the basic tool set required in virtually every other CS class.

  • With CS141 and CS142, you can probably get a job as a programmer.

  • Without at least CS241 and CS242 (or equivalent) you probably shouldn’t be allowed to get a job as a programmer


Why do many students have trouble in cs141 l.jpg

Why do many students have trouble in CS141?

  • It’s probably not how the course is taught.

    • Every college with a CS program has a course similar to CS141.

    • They all have relatively high numbers of students who have difficulties

  • They underestimate the amount of time they need to devote to it.

  • They get behind -- and because each concept builds on the others, it is hard to catch up.


How to succeed in cs141 l.jpg

How to Succeed in CS141

  • Spend time working on the programs

  • Don’t miss any classes

  • Read the textbook as assigned

  • Come to office hours

  • Ask questions in class

  • Stay with the class (Don’t get behind).

  • Start programs as soon as they’re assigned

  • Expect to encounter problems

  • Don’t get frustrated. If you keep trying, you’ll get it.

  • Understand that the programs are good teachers -- learn from each mistake.


Learning to program is like learning to play tennis l.jpg

Learning to program is like learning to play tennis.

  • At first, you need to master fundamentals.

  • It will get to be much more fun as you become better at it.

  • You need to practice. You can’t do all the practicing the night before the match.

  • It might be frustrating at first, but you will be rewarded if you persevere.

  • You can’t really judge how much you like it until you get to a certain level of competency.

  • Anyone can do it if they dedicate enough time to it.


A more gentle introduction is available l.jpg

A more gentle introduction is available

  • CS131 (3 credits) MWF 9:30

    • Visual Basic

    • Recommended for those who have never done any programming before.


What do computers do l.jpg

What do computers do?

  • They do very, very, simple things

    • basic arithmetic on values in memory

    • Input/Output

    • Comparison and Conditional Execution

      • if-statements

  • They do it very, very, fast and very, very reliably.

  • Programmers build systems to do complicated things using these simple basic capabilities.


Think of a recipe l.jpg

Think of a recipe.

  • We can use instructions that provide different levels of detail.

    • High Level

      • Make an apple pie

    • Lower Level

      • Slice 4 apples into one inch squares...

    • Even Lower Level

    • Pick up a knife, place the knife on the apple, apply pressure, …


Cooks use a standard set of instructions l.jpg

Cooks use a standard set of instructions

  • Poach

  • Blend

  • Whip

  • Fry

  • Filet

Recipes consist of a known set of instructions.

Cooks translate these higher-level actions.


Computer languages l.jpg

Computer Languages

  • A computer language defines the set of instructions that the programmer can use.

  • Programs are collections of these instructions.


Computer hardware executes low level instructions l.jpg

Computer Hardware Executes Low-level Instructions

  • Programmers typically want to write programs using higher level instructions.

  • Different computer manufactures provide different low-level instructions.


High level languages l.jpg

High-level Languages

  • High-level languages allow programmers to use a more expressive set of instructions.

  • A compiler translates the high-level instructions the programmer writes to the low-level instruction set the computer understands.

  • Compilers allow programs to be portable, because the instructions are not tied to an particular instruction set.


Compilers translate high level instructions to a particular machine s native instruction set l.jpg

Compilers Translate High-level instructions to a particular machine’s (native) instruction set.

Program

written in

High-level

Language

Program

using

native

instruction set

Compiler

The program the programmer writes is called source code.

The program the compiler generates is called object code.


Compilers translate high level instructions to a particular machine s native instruction set27 l.jpg

Compilers Translate High-level instructions to a particular machine’s (native) instruction set.

Object code

Source code

Program

written in

High-level

Language

Program using

Intel

instruction set

Microsoft

Compiler

Program using

Motorola

instruction set

Apple

Compiler


Programming languages l.jpg

Programming Languages

  • FORTRAN - Scientific/Engineering (1957)

  • COBOL - business oriented language (1959)

  • C - applications and systems, dominated much of the eighties and early nineties. (K&R published 1978)

  • C++ - applications and systems, dominated much of the late nineties. (1980-1985)

  • Java - applications and network/web-based applications, rapidly gaining popularity. (1995)

  • Lisp and Prolog - Languages for AI (1959, 1970)

  • Pascal - language used to teach programming (1971)

  • Ada - language used in military applications (1983)

  • Basic - language used to teach programming (1965)


Generating a simple program l.jpg

Generating a simple program

  • Write the program with a text editor or word processor.

  • Compile the program using a compiler.

  • Execute the compiled program.


Example using windows l.jpg

Example using Windows

  • Write a program using the “notepad” editor.

  • Compile the program using Microsoft’s Visual C++.

  • Run the resulting program


  • Login