Django Data Model Revisited and Testing Introduction

Size: px
Start display at page:

Download "Django Data Model Revisited and Testing Introduction"

Transcription

1 Django Data Model Revisited and Testing Introduction CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets) CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

2

3 Agenda Warm-up project: Late submissions due midnight today, deploy on Dutch Dutch compatibility: Python 2.7 and 3.2 (python3) available Django Ask for optional packages! CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

4 Agenda Warm-up project: Late submissions due midnight today, deploy on Dutch Dutch compatibility: Python 2.7 and 3.2 (python3) available Django Main project: Ask for optional packages! Submit ideas, due Tuesday 2/25 before class CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

5 Agenda Warm-up project: Late submissions due midnight today, deploy on Dutch Dutch compatibility: Python 2.7 and 3.2 (python3) available Django Main project: Upcoming: Ask for optional packages! Submit ideas, due Tuesday 2/25 before class Guest: Student startup LikePlum on Thursday 2/27 CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

6 Agenda Warm-up project: Late submissions due midnight today, deploy on Dutch Dutch compatibility: Python 2.7 and 3.2 (python3) available Django Main project: Upcoming: Today: Ask for optional packages! Submit ideas, due Tuesday 2/25 before class Guest: Student startup LikePlum on Thursday 2/27 Django data manipulation Introduction to testing CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

7 Entry/Exit Surveys Exit survey: Mobile Web & Agile Intro What is a responsive webapp? What principles does it use? Now that you know the pros and cons of using mobile webapps vs. native apps, which one would you prefer? What are the main principles of Agile development? Entry survey: Testing What was the worst bug you encountered/heard about in a program? How do you usually test your code? What was the most advantage you gained by testing? CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

8 Django Data Model Revisited

9 Hypothetical Book database Entities: Author (first_name, last_name, , photo) Book (title, authors, publisher, publication_date) Publisher (name, address, city, state, country, website) Relationships: Author-Book, Book-Publisher Logical design (board) 2/12/2013 CS 370, Spring

10 Better with a diagram? Diamonds indicate aggregation Made with Dia CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

11 Better with a diagram? Diamonds indicate aggregation Made with Dia CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

12 Better with a diagram? Diamonds indicate aggregation Made with Dia CS 370, Günay (Emory) Django Data and Testing Intro Spring / 8

13 Django Implementation class Publisher(models.Model): name = models.charfield(maxlength=30) website = models.urlfield() #implicit: ID (primary key) class Author(models.Model): first_name = models.charfield(maxlength=30) last_name = models.charfield(maxlength=40) = models. field() headshot = models.imagefield(upload_to='/tmp') class Book(models.Model): title = models.charfield(maxlength=100) authors = models.manytomanyfield(author) publisher = models.foreignkey(publisher) publication_date = models.datefield() 2/12/2013 CS 370, Spring

14 Important Notes Table names are automatically generated by combining the name of the app (books) and the lowercase name of the model (publisher, book, and author). You can override this behavior. Django adds a primary key for each table automatically the id fields. By convention, Django appends "_id" to the foreign key field name. The foreign key relationship is made explicit by a REFERENCES statement publisher = models.foreignkey(publisher) 2/12/2013 CS 370, Spring

15 Basic Data Access (API) from books.models import Publisher p1 = Publisher(name='Addison-Wesley', address='75 Arlington Street',... city='boston', state_province='ma', country='u.s.a.',... website=' p1.save() To retrieve objects from the database, use the attribute Publisher.objects publisher_list = Publisher.objects.all() 2/12/2013 CS 370, Spring

16 ToString() Add str () method to our Publisher object class Publisher(models.Model): def str (self): return self.name 2/12/2013 CS 370, Spring

17 Selecting objects Publisher.objects.filter(name="Apress Publishing") SELECT id, name, address, city, state_province, country, website FROM book_publisher WHERE name = 'Apress Publishing'; Publisher.objects.filter(name contains="press") Publisher.objects.get(name="Apress Publishing") Can cause exceptions, use Try/Except 2/12/2013 CS 370, Spring

18 Deleting objects p = Publisher.objects.get(name="Addison-Wesley") p.delete() Deletions are permanent, so be careful! avoid deleting objects unless you absolutely have to relational databases don t do undo so well, and restoring from backups is painful. It s often a good idea to add active flags to your data models. You can look up only active objects, and simply set the active field to False instead of deleting the object. 2/12/2013 CS 370, Spring

19 Metadata Django uses internal class Meta as a place to specify additional metadata about a model. It s completely optional, but it can do some very useful things. class Publisher(models.Model):. class Meta: ordering = ["name"] 2/12/2013 CS 370, Spring

20 Making Changes to a Database Schema If you add or change a model s field, or if you delete a model, you ll need to make the change in your database manually. Django will complain if a model contains a field that has not yet been created in the database table. This will cause an error the first time you use the Django database API to query the given table (i.e., it will happen at code execution time, not at compilation time). Django does not care if a database table contains columns that are not defined in the model. Django does not care if a database contains a table that is not represented by a model. 2/12/2013 CS 370, Spring

21 Making Changes to Database Schema (2) 2/12/2013 CS 370, Spring

22 Django book: Onwards and upwords Common mistakes/gotchas: 2/12/2013 CS 370, Spring

23 Introduction to Testing

24 Agile Dev: Test Early and Often "Code without tests is broken by design. J. Kaplan-Moss Providing automated tests for your code is a way to repeatedly ensure that the code you wrote works as advertised. When you first get started, writing tests sounds like extra work. But simple tests are easy to write and having some tests is better than no tests at all. 2/12/2013 CS 370, Spring

25 Testing: The First Bugs Hopper s bug (moth stuck in a relay on an early machine) It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise this thing gives out and [it is] then that 'Bugs' as such little faults and difficulties are called show themselves and months of intense watching, study and labor are requisite... Thomas Edison Ammann & Offutt 14

26 Costly Software Failures NIST report, The Economic Impacts of Inadequate Infrastructure for Software Testing (2002) Inadequate software testing costs the US alone between $22 and $59 billion annually Better approaches could cut this amount in half Huge losses due to web application failures Financial services : $6.5 million per hour (just in USA!) Credit card sales applications : $2.4 million per hour (in USA) In Dec 2006, Amazon.com s BOGO offer turned into a double discount 2007 : Symantec says that most security vulnerabilities are due to faulty software Ammann & Offutt 15

27 Spectacular Software Failures NASA s Mars lander: September 1999, crashed due to a units integration fault Mars Polar Lander crash site? Toyota brakes : Dozens dead, thousands of crashes Major failures: Ariane 5 explosion, Mars Polar Lander, Intel s Pentium FDIV bug Poor testing of safety-critical software can cost lives : THERAC-25 radiation machine: 3 dead Ariane 5: exception-handling bug : forced self destruct on maiden flight (64-bit to 16-bit conversion: about 370 million $ lost) THERAC-25 design Ammann & Offutt 16

28 Software is a Skin that Surrounds Our Civilization Introduction to Software Testing (Ch 1) Quote due to Dr. Mark Harman Ammann & Offutt 17

29 Airbus 319 Safety Critical Software Control Loss of autopilot Loss of most flight deck lighting and intercom Loss of both the commander s and the co-pilot s primary flight and navigation displays! Ammann & Offutt 18

30 Northeast Blackout of generating units and 256 power plants shut down Affected 10 million people in Ontario, Canada Affected 40 million people in 8 US states Financial losses of $6 Billion USD The alarm system in the energy management system failed due to a software error and operators were not informed of the power overload in the system Ammann & Offutt 19

31 Test Design in Context Test Design is the process of designing input values that will effectively test software Test design is one of several activities for testing software Most mathematical Most technically challenging Ammann & Offutt 20

32 Types of Test Activities Testing can be broken up into four general types of activities 1. Test Design 1.a) Criteria-based 2. Test Automation 1.b) Human-based 3. Test Execution 4. Test Evaluation Each type of activity requires different skills, background knowledge, education and training Ammann & Offutt 21

33 1. Test Design (a) Criteria-Based This is the most technical job in software testing Requires knowledge of : Discrete math Programming Testing This is intellectually stimulating, rewarding, and challenging Test design is analogous to software architecture on the development side Ammann & Offutt 22

34 2. Test Automation Fairly straightforward programming small pieces and simple algorithms Requires very little theory Who is responsible for determining and embedding the expected outputs? Test designers may not always know the expected outputs Test evaluators need to get involved early to help with this Ammann & Offutt 23

35 3. Test Execution This is easy and trivial if the tests are automated Requires basic computer skills Interns Employees with no technical background If, for example, GUI tests are not well automated, this requires a lot of manual labor Ammann & Offutt 24

36 Types of Test Activities Summary These four general test activities are quite different 1a. Design Design test values to satisfy engineering goals It is a poor use of resources to use people Criteria inappropriately Requires knowledge of discrete math, programming and testing 1b. Design Design test values from domain knowledge and intuition Human 2. Automatio n Requires knowledge of domain, UI, testing Embed test values into executable scripts Requires knowledge of scripting 3. Execution Run tests on the software and record the results Requires very little knowledge 4. Evaluation Evaluate results of testing, report to developers Requires domain knowledge Ammann & Offutt 25

37 Common Types of Testing Unit tests cover very small, highly-specific areas of code. There's usually relatively few interactions with other areas of the software. useful for critical components Integration tests cover multiple different facets of the application working together to produce a result. ensure that data flow is right handle multiple user interactions. 2/12/2013 CS 370, Spring

38 What is Unit Testing? unittest: testing framework used to write and run repeatable automated tests A structure for writing test drivers unittest features include: Assertions for testing expected results Test features for sharing common test data Test suites for easily organizing and running tests Graphical and textual test runners Junit (equivalent for Java) is widely used in industry Ammann & Offutt 27

39 Unit Tests (cont d) Can be used to test an entire object part of an object a method or some interacting methods interaction between several objects It is primarily for unit and integration testing, not system testing Each test is embedded into one test method A test class contains one or more test methods Test classes include : A test runner to run the tests (main()) A collection of test methods Methods to set up the state before and update the state after each test and before and after all tests Ammann & Offutt 28

40 Software Testing in Django References: ng/?from=olddocs Unit tests Fixtures Practical examples 2/12/2013 CS 370, Spring

41 What To Test? If your model has custom methods, you should test that, usually with unit tests. Custom views, forms, template tags, context processors 2/12/2013 CS 370, Spring

42 When to Test? Test-first is where you write the necessary tests to demonstrate proper behavior of the code BEFORE you write the code to solve the problem at hand. Test-after is when you've already written the code to solve the problem, then you go back & create tests to make sure the behavior of the code you wrote is correct. 2/12/2013 CS 370, Spring

43 Basic Unit Testing in Django (Tutorial) /12/2013 CS 370, Spring

44 Next Class: User stories, use cases, scenarios, UI design (online make-up class)

Anders Fröberg TDDD80 STORAGE AND TESTING

Anders Fröberg TDDD80 STORAGE AND TESTING Anders Fröberg anders.froberg@liu.se TDDD80 STORAGE AND TESTING 1 Agenda: Test Unit testing vs Traditional Testing Debugging and Refactoring Deployment (Test Driven Development (TDD)) (Acceptance Test

More information

Basic Definitions: Testing

Basic Definitions: Testing Basic Definitions: Testing l What is software testing? Running a program In order to find faults a.k.a. defects a.k.a. errors a.k.a. flaws a.k.a. faults a.k.a. BUGS 1 Bugs Hopper s bug (moth stuck in a

More information

Documentation and Deployment

Documentation and Deployment Documentation and Deployment CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets) I know what I learned this semester: CS 370, Günay (Emory) Documentation and

More information

Reminders. Full Django products are due next Thursday! CS370, Günay (Emory) Spring / 6

Reminders. Full Django products are due next Thursday! CS370, Günay (Emory) Spring / 6 Reminders Full Django products are due next Thursday! CS370, Günay (Emory) Spring 2015 1 / 6 Reminders Full Django products are due next Thursday! Let's start by quizzing you. CS370, Günay (Emory) Spring

More information

Software Testing Lecture 1. Justin Pearson

Software Testing Lecture 1. Justin Pearson Software Testing Lecture 1 Justin Pearson 2017 1 / 50 Four Questions Does my software work? 2 / 50 Four Questions Does my software work? Does my software meet its specification? 3 / 50 Four Questions Does

More information

AJAX: From the Client-side with JavaScript, Back to the Server

AJAX: From the Client-side with JavaScript, Back to the Server AJAX: From the Client-side with JavaScript, Back to the Server Asynchronous server calls and related technologies CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets)

More information

Programming in the Real World. Dr. Baldassano Yu s Elite Education

Programming in the Real World. Dr. Baldassano Yu s Elite Education Programming in the Real World Dr. Baldassano chrisb@princeton.edu Yu s Elite Education Our programs are getting bigger! Our game was already over 100 lines long - most programs are worked on by teams of

More information

Django: Views, Templates, and Sessions

Django: Views, Templates, and Sessions Django: Views, Templates, and Sessions CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets) CS 370, Günay (Emory) Django Views/Templates Spring 2014 1 / 7 Agenda

More information

Warm-Up Problem. Let be a set of well-formed Predicate logic formulas. Let be well-formed Predicate logic formulas. Prove or disprove the following.

Warm-Up Problem. Let be a set of well-formed Predicate logic formulas. Let be well-formed Predicate logic formulas. Prove or disprove the following. Warm-Up Problem Let be a set of well-formed Predicate logic formulas Let be well-formed Predicate logic formulas Prove or disprove the following If then 1/35 Program Verification Carmen Bruni Lecture 18

More information

Security and Authentication

Security and Authentication Security and Authentication CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets) CS 370, Günay (Emory) Security and Authentication Spring 2014 1 / 15 Agenda Upcoming

More information

Portfolio Report (for all weekly practicals)

Portfolio Report (for all weekly practicals) Portfolio Report (for all weekly practicals) Getting Started Worth 15%, due in Week 13 6:00pm Fri 26 th Oct You ll learn, from this unit, using IT more effectively as a university student. For this purpose,

More information

CS1004: Intro to CS in Java, Spring 2005

CS1004: Intro to CS in Java, Spring 2005 CS1004: Intro to CS in Java, Spring 2005 Lecture #23: OO Design, cont d. Janak J Parekh janak@cs.columbia.edu Administrivia HW#5 due Tuesday And if you re cheating on (or letting others see your) HW#5

More information

Introduction to CS 270 Math Foundations of CS

Introduction to CS 270 Math Foundations of CS Introduction to CS 270 Math Foundations of CS Verification of Computer Systems Jeremy Johnson Drexel University Course Description Emphasizes analytic problem-solving and introduction of mathematical material

More information

Floating-point Error

Floating-point Error I am HAL 9000 computer production Number 3. I became operational at the Hal Plant in Urbana, Illinios, on January 12, 1997. The quick brown fox jumps over the lazy dog. The rain in Spain is mainly in the

More information

Quick Facts about the course. CS 2550 / Spring 2006 Principles of Database Systems. Administrative. What is a Database Management System?

Quick Facts about the course. CS 2550 / Spring 2006 Principles of Database Systems. Administrative. What is a Database Management System? Quick Facts about the course CS 2550 / Spring 2006 Principles of Database Systems 01 Introduction Alexandros Labrinidis University of Pittsburgh When: Tue & Thu 2:30pm 3:45pm Where: 5313 SENSQ Instructor:

More information

Announcements. Rear Admiral Grace Hopper. Announcements. Announcements. Announcements. Announcements

Announcements. Rear Admiral Grace Hopper. Announcements. Announcements. Announcements. Announcements Grace Hopper Week ~ Dec. 6 12 Whereas Grace Murray Hopper, one of the first females in the field of computer science, engineered new programming languages (COBOL) and pioneered standards for computer systems

More information

Testing, Debugging, and Verification

Testing, Debugging, and Verification Testing, Debugging, and Verification TDA567/DIT082 Introduction Srinivas Pinisetty 30 October 2017 Software is everywhere Complexity, evolution, reuse, multiple domains/teams, Software bug Error Fault

More information

Program Verification. Aarti Gupta

Program Verification. Aarti Gupta Program Verification Aarti Gupta 1 Agenda Famous bugs Common bugs Testing (from lecture 6) Reasoning about programs Techniques for program verification 2 Famous Bugs The first bug: A moth in a relay (1945)

More information

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these.

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these. SAMPLE EXAMINATION QUESTIONS (Some of) the actual examination questions will be more precise than these. Basic terms and concepts Define, compare and discuss the following terms and concepts: a. HTML,

More information

Software Engineering

Software Engineering CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang : Introduction Wednesday, January 18 th sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Software Engineering Software

More information

2014 Intelliware Development Inc.

2014 Intelliware Development Inc. What You ll Learn in this Presentation: The basics of user stories. How user stories fit into the overall Agile planning process. How to write a user story. A story card example 2 Why is it so Difficult

More information

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture Project Horizon Technical Overview Bob Rullo GM; Presentation Architecture robert.rullo@sungardhe.com Agenda Banner Evolution Overview Project Horizon Overview Project Horizon Architecture Review Preparing

More information

Homework: Content extraction and search using Apache Tika Employment Postings Dataset contributed via DARPA XDATA Due: October 6, pm PT

Homework: Content extraction and search using Apache Tika Employment Postings Dataset contributed via DARPA XDATA Due: October 6, pm PT Homework: Content extraction and search using Apache Tika Employment Postings Dataset contributed via DARPA XDATA Due: October 6, 2014 12pm PT 1. Overview Figure 1: Map of Jobs (Colored by Country) In

More information

Python for Analytics. Python Fundamentals RSI Chapters 1 and 2

Python for Analytics. Python Fundamentals RSI Chapters 1 and 2 Python for Analytics Python Fundamentals RSI Chapters 1 and 2 Learning Objectives Theory: You should be able to explain... General programming terms like source code, interpreter, compiler, object code,

More information

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Yan Shi SE 2730 Lecture Notes Verification and Validation Verification: Are

More information

INTRODUCTION. In this guide, I m going to walk you through the most effective strategies for growing an list in 2016.

INTRODUCTION. In this guide, I m going to walk you through the most effective strategies for growing an  list in 2016. - Bryan Harris - INTRODUCTION In this guide, I m going to walk you through the most effective strategies for growing an email list in 2016. A lot of things are taught online that, quite honestly, just

More information

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore Lecture 04 Software Test Automation: JUnit as an example

More information

CS / Cloud Computing. Recitation 7 October 7 th and 9 th, 2014

CS / Cloud Computing. Recitation 7 October 7 th and 9 th, 2014 CS15-319 / 15-619 Cloud Computing Recitation 7 October 7 th and 9 th, 2014 15-619 Project Students enrolled in 15-619 Since 12 units, an extra project worth 3-units Project will be released this week Team

More information

CMPE 131 Software Engineering. Ruby on Rails Introduction

CMPE 131 Software Engineering. Ruby on Rails Introduction CMPE 131 Software Engineering September 5, 2017 Ruby on Rails Introduction Presented By Melvin Ch ng Agenda Native App vs Web App What is Ruby on Rails? MVC Architecture What can you do with Rails? What

More information

CISC 3140 (CIS 20.2) Design & Implementation of Software Application II

CISC 3140 (CIS 20.2) Design & Implementation of Software Application II CISC 3140 (CIS 20.2) Design & Implementation of Software Application II Instructor : M. Meyer Email Address: meyer@sci.brooklyn.cuny.edu Course Page: http://www.sci.brooklyn.cuny.edu/~meyer/ CISC3140-Meyer-lec4

More information

Tennessee. Trade & Industrial Course Web Page Design II - Site Designer Standards. A Guide to Web Development Using Adobe Dreamweaver CS3 2009

Tennessee. Trade & Industrial Course Web Page Design II - Site Designer Standards. A Guide to Web Development Using Adobe Dreamweaver CS3 2009 Tennessee Trade & Industrial Course 655745 Web Page Design II - Site Designer Standards A Guide to Web Development Using Adobe Dreamweaver CS3 2009 ation Key SE Student Edition LE Learning Expectation

More information

Reminders. Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! CS370, Günay (Emory) Spring / 8

Reminders. Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! CS370, Günay (Emory) Spring / 8 Reminders Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! CS370, Günay (Emory) Spring 2015 1 / 8 Reminders Github & HTTP steps, together with the minimally

More information

Additional Guidelines and Suggestions for Project Milestone 1 CS161 Computer Security, Spring 2008

Additional Guidelines and Suggestions for Project Milestone 1 CS161 Computer Security, Spring 2008 Additional Guidelines and Suggestions for Project Milestone 1 CS161 Computer Security, Spring 2008 Some students may be a little vague on what to cover in the Milestone 1 submission for the course project,

More information

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant Project Horizon Technical Overview Steven Forman Principal Technical Consultant Agenda Banner Evolution Overview Project Horizon Overview Project Horizon Architecture Review Preparing for Project Horizon

More information

Hours Assignments:

Hours Assignments: IT103 Database Management Course Objectives Upon completion of this course, the student will be able to: 1. Demonstrate database concepts and terminology. 2. Demonstrate how to create and use a basic database.

More information

MEAP Edition Manning Early Access Program Get Programming with Java Version 1

MEAP Edition Manning Early Access Program Get Programming with Java Version 1 MEAP Edition Manning Early Access Program Get Programming with Java Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome First,

More information

Introduction to Scientific Python, CME 193 Jan. 9, web.stanford.edu/~ermartin/teaching/cme193-winter15

Introduction to Scientific Python, CME 193 Jan. 9, web.stanford.edu/~ermartin/teaching/cme193-winter15 1 LECTURE 1: INTRO Introduction to Scientific Python, CME 193 Jan. 9, 2014 web.stanford.edu/~ermartin/teaching/cme193-winter15 Eileen Martin Some slides are from Sven Schmit s Fall 14 slides 2 Course Details

More information

TITLE CLOUD BASED VIDEO ANIMATION RENDERING MANAGEMENT SYSTEM INVENTOR: Thomas Ryan Mikota, of Orem Utah

TITLE CLOUD BASED VIDEO ANIMATION RENDERING MANAGEMENT SYSTEM INVENTOR: Thomas Ryan Mikota, of Orem Utah ATTORNEY DOCKET NO. 5199.FACT.PR TITLE CLOUD BASED VIDEO ANIMATION RENDERING MANAGEMENT SYSTEM INVENTOR: Thomas Ryan Mikota, of Orem Utah 1 The operating system (or user interface) stores most different

More information

John Edgar 2

John Edgar 2 CMPT 354 http://www.cs.sfu.ca/coursecentral/354/johnwill/ John Edgar 2 Assignments 30% Midterm exam in class 20% Final exam 50% John Edgar 3 A database is a collection of information Databases of one

More information

Db2 for z/os Gets Agile

Db2 for z/os Gets Agile New England Db2 Users Group September 28, 2017 Db2 for z/os Gets Agile Robert Catterall IBM Senior Consulting Db2 for z/os Specialist 2017 IBM Corporation Agenda The distinction between data-as-a-service

More information

Python Schema Generator Documentation

Python Schema Generator Documentation Python Schema Generator Documentation Release 1.0.0 Peter Demin June 26, 2016 Contents 1 Mutant - Python code generator 3 1.1 Project Status............................................... 3 1.2 Design..................................................

More information

3 Product Management Anti-Patterns by Thomas Schranz

3 Product Management Anti-Patterns by Thomas Schranz 3 Product Management Anti-Patterns by Thomas Schranz News Read above article, it s good and short! October 30, 2014 2 / 3 News Read above article, it s good and short! Grading: Added explanation about

More information

Architectural Design. CSCE Lecture 12-09/27/2016

Architectural Design. CSCE Lecture 12-09/27/2016 Architectural Design CSCE 740 - Lecture 12-09/27/2016 Architectural Styles 2 Today s Goals Define what architecture means when discussing software development. Discuss methods of documenting and planning

More information

CHAPTER INTRODUCTION

CHAPTER INTRODUCTION CHAPTER 1 INTRODUCTION The base slide set from which most slide sets in this course were created was originally created by Donald W. Smith of TechNeTrain.com Final Draft Oct. 15, 2011 » Names!» Your Job»

More information

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I Lecture 1: Class Introduction DR. BO TANG ASSISTANT PROFESSOR HOFSTRA UNIVERSITY 1 9/7/16 CSC15 - Python OUTLINE What is Computer Science? What is this Class

More information

CS 520 Theory and Practice of Software Engineering Fall 2018

CS 520 Theory and Practice of Software Engineering Fall 2018 CS 520 Theory and Practice of Software Engineering Fall 2018 Nediyana Daskalova Monday, 4PM CS 151 Debugging October 30, 2018 Personalized Behavior-Powered Systems for Guiding Self-Experiments Help me

More information

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location:

More information

About the Computer Support Specialist Program

About the Computer Support Specialist Program IT COMPUTER SUPPORT SPECIALIST About the Computer Support Specialist Program Learn the latest skills and technology to obtain jobs in business and industry where computer systems and networks are integral

More information

Lecture 27: Learning from relational data

Lecture 27: Learning from relational data Lecture 27: Learning from relational data STATS 202: Data mining and analysis December 2, 2017 1 / 12 Announcements Kaggle deadline is this Thursday (Dec 7) at 4pm. If you haven t already, make a submission

More information

cs465 principles of user interface design, implementation and evaluation

cs465 principles of user interface design, implementation and evaluation cs465 principles of user interface design, implementation and evaluation Karrie G. Karahalios 24. September 2008 1. Heuristic Evaluation 2. Cognitive Walkthrough 3. Discuss Homework 3 4. Discuss Projects

More information

UNIT I. Introduction

UNIT I. Introduction UNIT I Introduction Objective To know the need for database system. To study about various data models. To understand the architecture of database system. To introduce Relational database system. Introduction

More information

TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out

TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out Announcements TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out Get you setup for project/lab work. We ll check it with the first lab. Stars

More information

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013 Principles of Program Analysis Lecture 1 Harry Xu Spring 2013 An Imperfect World Software has bugs The northeast blackout of 2003, affected 10 million people in Ontario and 45 million in eight U.S. states

More information

Unit E Step-by-Step: Programming with Python

Unit E Step-by-Step: Programming with Python Unit E Step-by-Step: Programming with Python Computer Concepts 2016 ENHANCED EDITION 1 Unit Contents Section A: Hello World! Python Style Section B: The Wacky Word Game Section C: Build Your Own Calculator

More information

Combining Data from Existing Company Data Sources: Architecture and Experiences

Combining Data from Existing Company Data Sources: Architecture and Experiences Combining Data from Existing Company Data Sources: Architecture and Experiences Jari Vanhanen, Kai Risku, Pekka Kilponen Helsinki University of Technology, P.O.Box 9555, FIN-02015 HUT, Finland E-mail:

More information

QUIZ: Generations of computer technology. Hardware:

QUIZ: Generations of computer technology. Hardware: QUIZ: Generations of computer technology Hardware: 1. 2. 3. 4. 5. 1 QUIZ: Generations of computer technology Software: 1. 2. 3. 4. 5. 6. 2 Chapter 2 Binary Values and Number Systems Numbers Natural numbers,

More information

COGNOS DYNAMIC CUBES: SET TO RETIRE TRANSFORMER? Update: Pros & Cons

COGNOS DYNAMIC CUBES: SET TO RETIRE TRANSFORMER? Update: Pros & Cons COGNOS DYNAMIC CUBES: SET TO RETIRE TRANSFORMER? 10.2.2 Update: Pros & Cons GoToWebinar Control Panel Submit questions here Click arrow to restore full control panel Copyright 2015 Senturus, Inc. All Rights

More information

Contents. Introduction Management issues. Technical issues. Dorothy Graham. Mark Fewster.

Contents. Introduction Management issues. Technical issues. Dorothy Graham. Mark Fewster. 1 Experience Driven Test Automation Mark Fewster mark@grove.co.uk www.grove.co.uk Dorothy Graham info@dorothygraham.co.uk www.dorothygraham.co.uk Contents Introduction Management issues manager support

More information

PL Recitation 9/21/2010

PL Recitation 9/21/2010 PL Recitation 9/21/2010 Recitation Leader Joanna Gilberti Email: jlg204@cs.nyu.edu Office: WWH, Room 328 Web Site: http://cims.nyu.edu/~jlg204/ courses/pl/index.html (linked from main course Web site)

More information

CSE : Python Programming. Packages (Tutorial, Section 6.4) Announcements. Today. Packages: Concretely. Packages: Overview

CSE : Python Programming. Packages (Tutorial, Section 6.4) Announcements. Today. Packages: Concretely. Packages: Overview Announcements CSE 399-004: Python Programming Lecture 07: Packages, Command-line arguments, and Unit testing February 26, 2007 http://www.seas.upenn.edu/~cse39904/ No homework this week There may be one

More information

Bringing Android to Secure SDRs

Bringing Android to Secure SDRs Bringing Android to Secure SDRs David Kleidermacher Frank Vandenberg SDR 11 WinnComm - Europe Agenda Overview Why Android in SDR? Android Security Proposed Architecture Typical red-black architecture for

More information

Announcements. Testing. Announcements. Announcements

Announcements. Testing. Announcements. Announcements Announcements Testing HW0, HW1, and HW2 are graded Grades and feedback in Submitty Email us at csci2600@cs.lists.rpi.edu Use Submitty discussion board! HW0, HW1, and HW2, Quiz 1 and 2 Grades in Submitty

More information

Chapter 18: Persistence

Chapter 18: Persistence Chapter 18: Persistence This chapter introduces persistent data and methods for storing information in a file and database. You'll learn the basics of SQL and how App Engine lets you use objects to store

More information

Course Introduction. CSC343 - Introduction to Databases Manos Papagelis

Course Introduction. CSC343 - Introduction to Databases Manos Papagelis Course Introduction CSC343 - Introduction to Databases Manos Papagelis Thanks to Ryan Johnson, John Mylopoulos, Arnold Rosenbloom and Renee Miller for material in these slides Overview 2 What is a database?

More information

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics csci2600/

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics  csci2600/ Outline Principles of Software (CSCI 600) Spring 018 http://www.cs.rpi.edu/academics/courses/spring18/csci600/ Konstantin Kuzmin, kuzmik@cs.rpi.edu Office hours: Monday and Thursday 4:00 pm - 5:30 pm Mailing

More information

Groovy & Grails Scripting for Modern Web Applications. Rohit Nayak Talentica Software

Groovy & Grails Scripting for Modern Web Applications. Rohit Nayak Talentica Software Groovy & Grails Scripting for Modern Web Applications Rohit Nayak Talentica Software Agenda Demo: Quick intro to Grails Scripting, Web Applications and Grails/Groovy REST service in Grails Demo Internals

More information

COMP 401 COURSE OVERVIEW

COMP 401 COURSE OVERVIEW COMP 401 COURSE OVERVIEW Instructor: Prasun Dewan (FB 150, help401@cs.unc.edu) Course page: http://www.cs.unc.edu/~dewan/comp401/current/ COURSE PAGE Linked from my home page (google my name to find it)

More information

CS 520 Theory and Practice of Software Engineering Fall 2017

CS 520 Theory and Practice of Software Engineering Fall 2017 CS 520 Theory and Practice of Software Engineering Fall 2017 Course introduction September 05, 2017 The CS 520 team Instructors Prof. Yuriy Brun Office: CS 346 Office hours: by appointment brun@cs.umass.edu

More information

My 3 Years with an OpenStack Startup

My 3 Years with an OpenStack Startup My 3 Years with an OpenStack Startup HOW TO BRIDGE THE GAP BETWEEN THE TECHNICAL AND BUSINESS SIDES J ULES FA K HOURY, DEVELOPMENT OPERAT I ONS ENGINEER, ORMUCO I N C. OPENSTACK SUMMIT BOSTON 2017 MAY

More information

Human-Computer Interaction IS David Sprague

Human-Computer Interaction IS David Sprague Human-Computer Interaction IS 4300 David Sprague Overview (for today) Introductions Overview of the Course Logistics Overview of HCI Some basic concepts Overview of Team Projects Disclaimer 1. Touchy feely

More information

Introduction & Formal Methods

Introduction & Formal Methods Introduction & Formal Methods http://d3s.mff.cuni.cz Jan Kofroň CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Introduction to dependable systems NSWE 002 What you learn: Dependable systems

More information

Exploring Cross-platform Tools For Mobile Development: Lessons Learned. mlearning: Tips and Techniques for Development and Implementation

Exploring Cross-platform Tools For Mobile Development: Lessons Learned. mlearning: Tips and Techniques for Development and Implementation mlearning: Tips and Techniques for Development and Implementation November 14 & 15, 2013 201 Exploring Cross-platform Tools For Mobile Development: Lessons Learned Perry Bennett Exploring Cross-platform

More information

Conceptual Design. The Entity-Relationship (ER) Model

Conceptual Design. The Entity-Relationship (ER) Model Conceptual Design. The Entity-Relationship (ER) Model CS430/630 Lecture 12 Slides based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke Database Design Overview Conceptual design The Entity-Relationship

More information

LEGACY SYSTEMS MODERNIZATION SERVICES.

LEGACY SYSTEMS MODERNIZATION SERVICES. LEGACY SYSTEMS MODERNIZATION SERVICES www.eratech.com.eg Slide # 1 Feb. 2013 Agenda 1. Modernization of Legacy Systems Why and How? 2. Success Story Central Auditing Organization 3. Introducing Informix

More information

Middle East Technical University. Department of Computer Engineering

Middle East Technical University. Department of Computer Engineering Middle East Technical University Department of Computer Engineering TurkHITs Software Requirements Specifications v1.1 Group fourbytes Safa Öz - 1679463 Mert Bahadır - 1745785 Özge Çevik - 1679414 Sema

More information

Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016

Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016 Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016 Brought to you by Hosted By Bernard P. Szymczak Ohio Chapter Leader HP Software Education SIG Leader TQA SIG Leader Today s Speakers Ori

More information

Introduction to NoSQL

Introduction to NoSQL Introduction to NoSQL Agenda History What is NoSQL Types of NoSQL The CAP theorem History - RDBMS Relational DataBase Management Systems were invented in the 1970s. E. F. Codd, "Relational Model of Data

More information

3 Ways to Take Your Website Management from Chaotic to Calm WHITEPAPER

3 Ways to Take Your Website Management from Chaotic to Calm WHITEPAPER 3 Media Web 3 Ways to Take Your Website Management from Chaotic to Calm WHITEPAPER WHITEPAPER 3 Ways to Take Your Website Management from Chaotic to Calm Voila! You launched your new website. You ve tested

More information

CS152: Programming Languages. Lecture 11 STLC Extensions and Related Topics. Dan Grossman Spring 2011

CS152: Programming Languages. Lecture 11 STLC Extensions and Related Topics. Dan Grossman Spring 2011 CS152: Programming Languages Lecture 11 STLC Extensions and Related Topics Dan Grossman Spring 2011 Review e ::= λx. e x e e c v ::= λx. e c τ ::= int τ τ Γ ::= Γ, x : τ (λx. e) v e[v/x] e 1 e 1 e 1 e

More information

Infor Education. Mongoose Workshop. Infor Education. Mongoose Workshop. Class 3: Data and Its Representation and Organization.

Infor Education. Mongoose Workshop. Infor Education. Mongoose Workshop. Class 3: Data and Its Representation and Organization. Infor Education Class 3: Data and Its Representation and Organization Student Guide (Use this guide for this course.) Student Guide Data and Its Representation and Organization Page: 1 of 33 Welcome to

More information

Business Process Outsourcing

Business Process Outsourcing Business Process Outsourcing Copyright 2012-2014, AdminBetter Inc. LIST BUILDING SERVICES Table of Contents Introduction To List Building Services... 3 A Note On Ballbark Pricing... 3 Types Of List Building

More information

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University and OO OO and OO SE 3S03 - Tutorial 12 Department of Computer Science McMaster University Complexity Lorenz CK Week of Apr 04, 2016 Acknowledgments: The material of these slides is based on [1] (chapter

More information

KENYA 2019 Training Schedule

KENYA 2019 Training Schedule KENYA 2019 Training Schedule Monday Tuesday Wednesday Thursday Friday 4th Feb 5th Feb 6th Feb 7th Feb 8th Feb Using 11th Feb 12th Feb 13th Feb 14th Feb 15th Feb Using (cont...) Field Data Collection and

More information

Introduction to Programming Nanodegree Syllabus

Introduction to Programming Nanodegree Syllabus Introduction to Programming Nanodegree Syllabus Learn to Code Before You Start Prerequisites: In order to succeed, we recommend having experience using the web, being able to perform a search on Google,

More information

A Distributed System Case Study: Apache Kafka. High throughput messaging for diverse consumers

A Distributed System Case Study: Apache Kafka. High throughput messaging for diverse consumers A Distributed System Case Study: Apache Kafka High throughput messaging for diverse consumers As always, this is not a tutorial Some of the concepts may no longer be part of the current system or implemented

More information

RECORD. Published : License : None

RECORD. Published : License : None RECORD Published : 2011-03-12 License : None 1 Record Activity 1. Introduction 2. Starting Record 3. Somebody Should Set The Title For This Chapter! 4. Overview of Record 5. Audio 6. Taking Photos 7. Video

More information

Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications

Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/softwa retest/ Design Specifications A design specification

More information

Data Management Lecture Outline 2 Part 2. Instructor: Trevor Nadeau

Data Management Lecture Outline 2 Part 2. Instructor: Trevor Nadeau Data Management Lecture Outline 2 Part 2 Instructor: Trevor Nadeau Data Entities, Attributes, and Items Entity: Things we store information about. (i.e. persons, places, objects, events, etc.) Have relationships

More information

Steps for project success. git status. Milestones. Deliverables. Homework 1 submitted Homework 2 will be posted October 26.

Steps for project success. git status. Milestones. Deliverables. Homework 1 submitted Homework 2 will be posted October 26. git status Steps for project success Homework 1 submitted Homework 2 will be posted October 26 due November 16, 9AM Projects underway project status check-in meetings November 9 System-building project

More information

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001 257 Midterm Exam, October 24th, 2000 258 257 Midterm Exam, October 24th, 2000 Tuesday, October 24th, 2000 Course Web page: http://www.cs.uni sb.de/users/jameson/hci Human-Computer Interaction IT 113, 2

More information

ITP 140 Mobile Technologies. Build vs. Buy

ITP 140 Mobile Technologies. Build vs. Buy ITP 140 Mobile Technologies Build vs. Buy 1. App idea App Development Process 2. User profile 3. App definition statement 4. Design (wireframes, prototype) Functionality layout App icon, color palette,

More information

Oracle Application Express: Administration 1-2

Oracle Application Express: Administration 1-2 Oracle Application Express: Administration 1-2 The suggested course agenda is displayed in the slide. Each lesson, except the Course Overview, will be followed by practice time. Oracle Application Express:

More information

DevOps and Maven. Eamonn de Leastar Dr. Siobhán Drohan Produced by:

DevOps and Maven. Eamonn de Leastar Dr. Siobhán Drohan Produced by: DevOps and Maven Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhán Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/ Dev team created a solution for production.

More information

Annual Public Safety PSAP Survey results

Annual Public Safety PSAP Survey results Annual Public Safety PSAP Survey results 573 PSAP Employees Surveyed March - July 2016 2016 Stratus Technologies. All Rights Reserved. 1 Stratus PSAP Survey March 2016 From March 2016 through July of 2016,

More information

Homework 09. Collecting Beepers

Homework 09. Collecting Beepers Homework 09 Collecting Beepers Goal In this lab assignment, you will be writing a simple Java program to create a robot object called karel. Your robot will start off in a world containing a series of

More information

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution: Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications

More information

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda Module 1: Google Cloud Platform Projects Identify project resources and quotas Explain the purpose of Google Cloud Resource

More information

These are notes for the third lecture; if statements and loops.

These are notes for the third lecture; if statements and loops. These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern

More information

A Strategic Approach to Web Application Security

A Strategic Approach to Web Application Security A STRATEGIC APPROACH TO WEB APP SECURITY WHITE PAPER A Strategic Approach to Web Application Security Extending security across the entire software development lifecycle The problem: websites are the new

More information

Homework: Building an Apache-Solr based Search Engine for DARPA XDATA Employment Data Due: November 10 th, 12pm PT

Homework: Building an Apache-Solr based Search Engine for DARPA XDATA Employment Data Due: November 10 th, 12pm PT Homework: Building an Apache-Solr based Search Engine for DARPA XDATA Employment Data Due: November 10 th, 12pm PT 1. Overview This assignment picks up where the last one left off. You will take your JSON

More information