Lecture: Introduction to Computing Fundamentals

Document Details

IntricateFairy1340

Uploaded by IntricateFairy1340

Islington College

Hrishav Tandukar

Tags

computing fundamentals algorithms data structures computer science

Summary

These lecture notes are from "Fundamentals of Computing", and include an agenda, module overview, discussion of algorithms, data structures, and abstraction. The course also covers programming with Python, and the assessment includes coursework and MCQ exams. The notes also mention Islington College.

Full Transcript

Lecture: Introduction [email protected] Agenda Introduction and overview of the module Learning and teaching strategies Assignment details and other administrative stuffs Introduction to Computing CS4051 Fundamentals of Computing...

Lecture: Introduction [email protected] Agenda Introduction and overview of the module Learning and teaching strategies Assignment details and other administrative stuffs Introduction to Computing CS4051 Fundamentals of Computing 2 Overview of the module Semester long module, 1 semester Things to learn Basics of Algorithms and algorithm design Flowcharts & Pseudocode Programming with Python CS4051 Fundamentals of Computing 3 Assessments This module is assessed by coursework Assessments Coursework (70%) – week 12 MCQ Exam (15%) – week 8 MCQ Exam(15%)- week 13 VIVA session will be held after submission where class performance will also be taken into account LondonMet has collaboration policies, so plagiarism cases will be dealt very seriously CS4051 Fundamentals of Computing 4 What is Computing? A computer is an electronic programmable machine A computer is very good at executing a preordered set of instructions with high speed and precision Computing is the process of utilizing computer technology to solve problems and complete tasks CS4051 Fundamentals of Computing 5 Terms and Terminology Business Computing Level Problem: Situation which prevents achieving our goals Solution: New situation which satisfies our goals Model: Informal (NL), graphic (UML) or formal (math) description of the transformation of a problem into a solution CS4051 Fundamentals of Computing 6 Terms and Terminology Information Technology Level Data: Information used by a model in machine format Algorithm: A set of steps defining how to find the solution Program: A representation of an algorithm in machine form CS4051 Fundamentals of Computing 7 Computer Science is not the study of computers! “Computers are to computer science what telescopes are to astronomy.” (E. Dijkstra) So what is Computer Science then? CS4051 Fundamentals of Computing 8 The recurrent themes in computer science Computing technology effects: Governments, economies, scientific research, communication, … Seven “Big Ideas” that unite the study of computing into a scientific discipline: Algorithms Data Abstraction Programming Networking Creativity and Impact CS4051 Fundamentals of Computing 9 Algorithms A set of steps defining how to find the solution to a problem A set of steps defining how to complete a particular task An algorithm is basically a plan/blueprint to write a program eg: an algorithm to add 2 numbers Algorithms are written in steps, and can be further described using flowcharts and pseudocode CS4051 Fundamentals of Computing 10 Data Raw facts or figures that exist in a variety of forms, e.g. numbers or text on a piece of paper or bits and bytes stored in computer (0s and 1s) Computers can represent and store any kind of data in digital format Algorithms are used to process and transform data They utilize massive storage capacities and processing power of computers CS4051 Fundamentals of Computing 11 Data & Information Information is created Useful information is from data generated from data after Data Data Data processing it There are massive amounts of data being generated Processing everyday That data needs to be processed in order to Information extract useful information CS4051 Fundamentals of Computing 12 Abstraction Abstraction: The distinction between the external appearance of an entity and the details of the entity’s internal composition. Interface: A tool that allows the entity to be used without concern for its internal properties. For example, you want to send an email to your friend that lives abroad. How do you do it? You open your email account and then type your email. Your friend also needs to open his email account and then read it. But do you know the processes involved? No. Because both you and your friend only see the outer interface. This is called abstraction. CS4051 Fundamentals of Computing 13 Programming Programming is broadly referred to as: Translating human intentions into executable algorithms Abstractions in a programming language allows humans to reason and encode solutions to complex problems without knowing the details of the actual solution CS4051 Fundamentals of Computing 14 Networking Profound impact in the way information is: Stored Retrieved Shared Used CS4051 Fundamentals of Computing 15 Creativity Computer science is inherently creative Discovering and applying algorithms to solve problems is an essential human activity Basically making computers do our work to make our lives easier, eg: self-driving cars Extends the forms of expression in many ways – i.e., digital art/media, collaborative working through online platforms, etc CS4051 Fundamentals of Computing 16 Impact Business and Technology Social, ethical, legal impacts including: Security concerns and cybercrime Issues of software ownership and liabilities Social impact of database technology Consequences of robotics, Artificial Intelligence (AI) in general Health impacts: Addiction, Neurosis and Emotional life Sighting and Hearing CS4051 Fundamentals of Computing 17 Role of Algorithms The study of algorithms was originally a subject in mathematics (numerical calculations, geometric drawings, alphabetical sorting, coding, encryption, etc.) Examples of an early algorithm used in mathematics is the “Euclidean Algorithm” The algorithms became the basis for problem solving in business (modeling) and technology (computer programming) Gödel's Incompleteness Theorem: Some problems cannot be solved by algorithms (they need an intuition, guess, chance…) CS4051 Fundamentals of Computing 18 Gödel's Incompleteness Theorem Using algorithms, we can prove things like 2+2=4 and 2+2≠5. But can an algorithm also prove things like 2+2=5? There are other examples as well. Like earthquakes. We cannot predict if we will have an earthquake tomorrow can we? CS4051 Fundamentals of Computing 19 The Euclidean algorithm An algorithm to find the greatest common divisor of two numbers CS4051 Fundamentals of Computing 20 The Euclidean algorithm Lets take two numbers: 12 and 9 12 = 1,2,3,4,6,12 9 = 1,3,9 M = 12 and N = 9 then R = 3 Again, M = 9 and N = 3 then R = 0. Thus, Greatest Common Divisor is 3. CS4051 Fundamentals of Computing 21 End of Lecture 1 CS4051 Fundamentals of Computing 22 Thank you ! Any questions ? CS4051 Fundamentals of Computing 23