Introduction To The Art Of Programming Using Scala - GBV

1y ago
11 Views
1 Downloads
556.04 KB
15 Pages
Last View : 18d ago
Last Download : 3m ago
Upload by : Jayda Dunning
Transcription

CHAPMAN & I IALL/CRC ! ! XIIUXVxs IN COMPUTING INTRODUCTION TO THE ART OF PROGRAMMING USING SCALA Mark C. Lewis CRC Press Taylor & Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group, A CHAPMAN & an Informa business HALL BOOK

Contents List of xix Figures List of Tables xxv xxvii Acknowledgments xxix Preface I 1 Introductory Concepts Basics of Computers, Computing, and Programming 3 1.1 History 3 1.2 Hardware 5 1.3 Software 7 1.4 Nature of Programming 1.5 1.6 Programming Paradigms 1.5.1 Imperative Programming 1.5.2 11 1.5.4 Programming Object-Oriented Programming Logic Programming 1.5.5 Nature of Scala 13 Functional Material 11 12 13 13 End of Chapter 1.6.1 Summary of 1.6.2 Exercises 14 1.6.3 Projects 14 Concepts Getting to Know the Tools 2.1 Unix/Linux (includes Mac OS X) 2.1.1 2.1.2 2.1.3 2.2 9 11 1.5.3 2 1 Command-Line 2.2.2 17 18 18 2.1.1.1 Files and Directories 18 2.1.1.2 Aside 22 2.1.1.3 Helpful Tips 23 2.1.1.4 Permissions 24 2.1.1.5 Compression/Archiving 26 2.1.1.6 Remote 27 2.1.1.7 Other Commands 29 I/O Redirection Text Editors (vi/vim) Windows 2.2.1 13 30 31 33 Command-Line 34 2.2.1.1 34 Files and Directories Text Editors 36 v

Contents vi 2.2.3 3 36 2.2.2.1 Edit 2.2.2.2 Notepad 36 2.2.2.3 Others 36 37 Other Commands 2.3 Scala Tools 2.4 End of 2.4.1 Chapter Summary 2.4.2 Exercises of Concepts 43 3.2 Expressions, Types, and Objects and Methods 3.3 Other Basic 3.4 Back to the Numbers Basic Math 50 Binary Arithmetic 52 3.4.2 Negative Numbers in Binary 53 3.4.3 Other 54 3.4.4 Octal and Hexadecimal 3.4.5 Non-Integer Numbers Integer Types 55 56 57 The math 3.6 Details of Char and 3.7 Naming 3.8 Sequential Execution Object String Values and Variables 58 59 63 64 Comments A Tip for Learning to Program 64 Material 65 Problem-Solving Approach Summary of Concepts 65 3.10.2 3.10.3 Self-Directed 67 3.10 End of 3.10.1 Chapter Study 3.10.4 Exercises 66 68 1 Conditionals 71 4.5 Motivating Example The if Expression Comparisons Boolean Logic Bigger Expressions 4.6 End of Chapter Material 83 4.6.1 83 4.6.2 Problem-Solving Approach Summary of Concepts 4.6.3 Self-Directed Study 84 4.6.4 Exercises 85 4.6.5 Projects 87 4.1 4.2 4.3 4.4 5 46 3.4.1 3.8.1 4 43 48 Types 3.5 3.9 40 41 Scala Basics 3.1 38 40 Material 72 75 76 79 84 89 Functions 5.1 Motivating Example 89 5.2 Function Refresher 90 5.3 Making and Using Functions Problem Decomposition 91 5.4 5.5 Function Literals 100 5.6 Non-Functional 101 Functions/Procedures 95

Contents 6 5.7 type Declarations 103 5.8 Putting it Together 103 5.9 End of Chapter Material 105 5.9.1 105 5.9.2 Problem-Solving Approach Summary of Concepts 5.9.3 Self-Directed 106 5.9.4 Exercises 107 5.9.5 Projects 108 Study Recursion for Iteration 106 111 6.1 Basics of Recursion Ill 6.2 Writing Recursion 113 6.3 User 117 6.4 Abstraction 120 6.5 Matching 123 6.6 Putting 6.7 Looking Ahead End of Chapter 6.8 Input Together 125 127 128 128 6.8.3 Problem-Solving Approach Summary of Concepts Self-Directed Study 6.8.4 Exercises 130 6.8.5 Projects 131 6.8.2 Arrays 7.1 it Material 6.8.1 7 vii and Lists in Scala 128 129 135 136 7.2 Making Arrays Using Arrays 7.3 Lists 140 7.4 Standard Methods 143 7.4.1 143 7.5 137 Basic Methods 7.4.2 Higher-Order Methods Combinatorial/Iterator Methods A World of Types 146 7.4.3 151 7.5.1 The 154 7.5.2 Parametric Functions 154 7.5.3 Subtyping 156 Option Type 153 7.6 Variable 7.7 159 7.8 Mutability and Aliasing Basic Argument Passing 7.9 Pass-By-Name 165 Length Argument Lists 7.10 Fill and Tabulate 7.11 7.12.1 162 167 Complete Grades Script/Software Development 7.12 End of 156 168 Material 173 Problem-Solving Approach 173 Chapter of 7.12.2 Summary 7.12.3 Self-Directed Study Concepts 174 7.12.4 Exercises 175 7.12.5 Projects 177 173

viii 8 Contents 181 Loops 8.1 while 8.2 do-while 8.3 for Loop Loop 183 Loop 8.3.1 184 186 8.3.2 Range Type yield 8.3.3 if Guards 188 8.3.4 Multiple Generators Patterns in for Loops 189 8.3.5 8.3.6 Variable Declarations 191 188 190 8.4 Multidimensional 8.5 Testing 8.6 Putting 8.7 End of Chapter Material 2 0 8.7.1 200 8.7.3 Problem-Solving Approach Summary of Concepts Self-Directed Study 8.7.4 Exercises 203 8.7.5 Projects 204 8.7.2 9 181 Arrays 191 195 it Together 198 Text Files 201 202 209 9.1 I/O 9.2 Packages and import Statements Reading from Files 210 9.3.1 2X3 9.3 Redirection 21 Iterators 9.3.2 String Reading from Other Things 9.3.4 Other Options (Java Based) Writing to File 9.4.1 Appending to File Use Case: Simple Encryption 9.5.1 Command-Line Arguments 214 9.5.2 Mapping 220 9.5.3 Character Offset 221 9.5.4 Alphabet Flip Key Word Putting it Together Primes and Real Cryptography 221 split Method 9.3.3 9.4 9.5 9.5.5 9.5.6 9.5.7 9.6 End of a File Material 215 216 217 2i7 219 220 222 222 223 9.6.1 Chapter Summary 9.6.2 Self-Directed 9.6.3 Exercises 225 9.6.4 Projects 226 of 224 Concepts Study User-Defined 224 225 10 Case Classes 10.1 212 229 Types 230 10.2 Case Classes 10.2.1 Making Objects 10.2.2 Accessing Elements 10.2.3 Named and Default 10.2.4 The copy Method 230 231 231 Arguments (Advanced) 232 233

Contents 10.2.5 Case Class Patterns 10.3 Mutable Classes 10.4 Putting it 10.5 End of 10.5.1 10.5.2 11 Material of Concepts Self-Directed Study Summary 235 241 241 241 10.5.3 Exercises 242 10.5.4 243 Projects 247 GUIs 11.1 234 234 Together Chapter ix GUI Libraries and History 11.2 GUI 247 248 Components 11.2.1 Frames and Windows 248 11.2.2 Components 250 11.2.3 Panels and Panes 251 11.2.4 Menus 255 11.2.5 Tooltips 258 11.3 Basic Interactivity 258 11.3.1 Partial Functions 258 11.3.2 Publishers and Reactors 259 11.3.3 Mnemonics 260 11.4 FileChooser 261 11.5 Tables 262 Table Actions 264 11.5.2 Table Models 266 11.5.1 11.6 Together 268 Chapter Material 11.7.1 Summary of Concepts 278 Putting it 11.7 End of Self-Directed Study 279 11.7.3 Exercises 280 280 11.7.4 Projects 283 12 Graphics 12.1 Custom-Drawn Panels 12.2 284 java.awt.Graphics2D 284 12.2.1 285 12.2.2 Shapes Settings 287 12.2.2.1 Paint 287 12.2.2.2 Stroke 290 12.2.2.3 Font 292 12.2.2.4 Clip 294 Transform 294 12.2.2.5 12.2.3 12.3 278 11.7.2 Affine Transforms 297 Images 12.3.1 12.3.2 12.3.3 Bufferedlmage Reading and Writing Images Double Buffering 12.3.4 Revisiting TexturePaint 12.4.2 Mouse Events Keyboard 297 298 298 299 299 12.4 Other Events 12.4.1 294 Events 301 302

Contents X 12.5 Animation with Timer 303 12.6 4 Putting 13 it Together 12.7.1 Chapter Summary of Concepts 3J?7 12.7.2 Exercises ?f)Q 6m 12.7.3 Projects 309 12.7 End of Material 307 315 Sorting and Searching 13.1 Basic Comparison Sorts 31 316 13.1.1 Bubble Sort 13.1.2 Selection Sort (Min/Max) 13.1.4 13.2 Testing and 318 319 13.1.3 Insertion Sort Verifying Sorts 320 13.1.5 Sort Visualization 321 13.1.6 Order Analysis 323 13.1.7 Shell Sort 324 (Diminishing Gap Sort) Searching 13.2.1 Sequential Search (Linear Search) 13.2.2 Binary Search 325 326 327 332 13.3 Performance and Timing 13.4 Classifying Bugs 333 336 13.5 Memory Layout 13.6 Sorting/Searching 13.7 Putting it Together End of Chapter Material 341 13.8.1 Summary 343 13.8.2 Exercises 344 13.8.3 Projects 345 13.8 with of case classes Concepts 343 349 14 XML 350 14.1 Description of XML 14.1.1 Tags 350 14.1.2 Elements 350 14.1.3 Attributes 351 14.1.4 Content 351 14.1.5 Special Characters 351 14.1.6 Comments 351 14.1.7 Overall Format 352 14.1.8 Comparison to Flat File 14.1.8.1 Flexibility in XML 352 352 353 14.2 XMLinScala 14.2.1 Loading XML Parsing XML 14.2.3 Building XML 14.2.4 Writing XML to File 14.2.2 14.3 336 353 354 356 357 14.2.5 XML Patterns 358 Putting 358 14.4 End of it Together Chapter Material 14.4.1 of Summary 14.4.2 Self-Directed 14.4.3 Exercises Concepts Study 364 3 4 365 365

Contents 14.4.4 xi Projects 366 15 Recursion 369 Power of Recursion 369 15.2 Fibonacci Numbers 370 15.3 Permutations 373 15.4 Towers of Hanoi 374 15.5 Mazes 377 15.1 15.6 Sorts 15.6.1 380 Divide and Conquer Merge Sort Quicksort 15.6.1.1 15.6.1.2 Sorts 381 381 383 15.7 Putting it Together 15.8 End of II 16 Chapter 384 Material of 386 Concepts 15.8.1 Summary 15.8.2 Exercises 386 15.8.3 Projects 387 386 Object-Orientation, Abstraction, and Data Structures Object-Orientation 16.1 Basics of 16.1.1 16.1.2 16.1.3 16.1.4 393 Object-Orientation 16.1.1.1 Parameters 16.1.1.2 Visibility Implementation 399 400 16.1.4.3 Property Assignment Methods 403 16.1.4.4 The apply Method The update Method 404 Overloading Methods Vector Example 405 object Declarations 16.1.5.1 Applications 16.1.5.2 Introduction to Object Decomposition Meaning of case Summary 16.5.2 Exercises Projects of 402 405 406 408 408 Companion Objects 409 409 409 classes 16.4 import Options 16.5 End of Chapter Material 16.5.3 399 Interface from 400 Revisiting the API 16.5.1 396 16.1.4.2 16.1.4.7 16.3 395 Operator Methods Unary Operators 16.1.4.6 16.2 394 Members Encapsulation/Separating Special Methods 16.1.4.5 16.1.6 as Keyword 16.1.4.1 16.1.5 394 Methods and Members this 391 Concepts 410 410 412 412 414 415

Contents xii 17 423 Bigger Programs/New Tools 17.1 Eclipse IDE 17.2 Concurrent Versions System 17.2.1 423 (CVS) Making the Repository Set-up in Eclipse Getting Access on Other Systems Repository Usage and Rules 17.2.2 17.2.3 17.2.4 430 430 432 432 433 17.3 Scaladoc Comments 17.4 End of 430 434 17.4.1 Chapter Summary of Concepts 434 17.4.2 Exercises 435 17.4.3 Projects 435 Material 18 A Project (Drawing Program) Development Stages 18.2 Analysis 18.3 Design 18.1 Software 18.4 18.5 Making Packages Project Analysis and Design 18.6 Implementing the GUI 18.7 End of Chapter Material 18.7.1 Summary of Concepts 437 438 440 441 442 442 447 447 18.7.2 Exercises 448 18.7.3 Projects 448 19 Abstraction and Polymorphism 19.1 Polymorphism 19.2 Inclusion Polymorphism (Inheritance and Subtyping) 19.2.1 private Visibility and Inheritance 19.2.2 Protected Visibility 19.2.3 Calling Methods on the Supertype 19.2.4 Anonymous 19.2.5 Abstract Classes Classes 4 452 452 4« 9 459 460 4 1 461 19.2.6 traits 463 19.2.7 464 final 19.2.8 Method Resolution 19.2.9 Inheriting from Function Types 19.3 Inheritance in the Project 467 4* 8 468 19.3.1 Drawables 19.3.2 Integration 19.4 Parametric 466 with Drawing Polymorphism 478 481 19.4.1 Parametric 19.4.2 Parametric Functions and Methods 485 19.4.3 Type Bounds 488 19.5 End of 19.5.1 Chapter Types Material Summary of Concepts 482 492 492 19.5.2 Exercises 493 19.5.3 493 Projects

Contents 20 Other Collection Types Packages 497 20.1 The scala.collection 20.1.1 497 scala.collection.immutable 498 20.1.2 scala.collection.mutable 500 20.2 Sets 20.3 501 20.2.1 Running Through Sets 20.2.2 Mutable 20.2.3 Using vs. 502 Immutable '502 Set a 504 Maps 505 Looping Through 20.3.2 Using Maps 20.3.1 a Map 507 508 20.4 Buffers 20.5 510 Collections Functions as 512 20.6 Project Integration 512 20.6.1 Commands 20.6.2 20.7 End of xiii 512 515 Material 517 Adding Drawables Chapter of 20.7.1 Summary 20.7.2 Exercises 517 20.7.3 Projects 518 Concepts 517 21 Multithreading and Concurrency 521 21.1 The Multicore Future 522 21.2 Basic Threads 523 21.2.1 Problems with Threads 526 21.2.1.1 Race Conditions 526 21.2.1.2 Deadlock 528 21.2.2 Synchronization 21.2.3 Wait/Notify 21.2.4 21.3 529 532 Other Thread Methods 534 Concurrency Library 535 21.3.1 Executors and Executor Services 535 21.3.2 Callable and Futures 536 21.3.3 Parallel Data Structures 539 21.3.3.1 Shared Barriers 539 21.3.3.2 The 540 21.3.3.3 Exchange Assembly Line 21.3.3.4 Ticketed Passengers 541 21.3.3.5 Other Threadsafe 541 Locks Types (java.util.concurrent.atomic) 21.3.4 Atomic 21.3.5 540 (java.util.concurrent.locks) 21.4 Parallel Collections 542 542 543 21.5 Introduction to Scala Actors 546 21.6 Multithreaded Mandelbrot 548 21.7 21.8 (Project Integration) Multithreading in GUIs Animated Bouncing Balls (Project Integration) 21.9 End of 21.9.1 Chapter Material Summary of Concepts 551 553 555 555 21.9.2 Exercises 556 21.9.3 557 Projects

Contents xjv 22 Stream 22.1 The 561 I/O 561 java.io Package 22.2 Streams for Files 562 22.3 Exceptions 564 22.3.1 565 try-catch-f inally Effect of Exceptions 22.3.2 22.4 22.3.3 Loan Pattern 567 Decorating Streams 22.4.1 Buffering 568 22.4.2 568 569 Binary Data 22.4.3 Serialization 22.5 - 22.4.3.1 Binary 22.4.3.2 XML Saving Drawings Serialization Serialization (Project Integration) 22.6.1 Summary 22.6.2 Exercises of 572 572 577 578 594 22.6 End of Chapter Material Concepts 594 595 596 22.6.3 Projects 23 567 597 Networking 23.1 TCP and UDP 597 23.2 Sockets 598 23.2.1 TCP Sockets 598 23.2.2 UDP Sockets 599 23.2.3 Streams from Sockets 601 606 23.3 URLs 23.4 Remote Method Invocation 608 23.5 Collaborative 616 (RMI) Drawing (Project Integration) 628 23.6.1 Chapter Material Summary of Concepts 23.6.2 Exercises 628 23.6 End of . . . 629 23.6.3 Projects 633 24 Stacks and 24.1 24.2 Queues Abstract Data Types Operations on Stacks (ADTs) and Queues 24.5 24.6 0(1) 634 634 635 24.3 Real Meaning of O 24.4 628 636 Requirement 637 Stack Array-Based Array-Based Queue 641 644 24.7 Unit Tests 644 24.7.1 Setup 24.7.2 Tests Writing 24.7.3 Test Suites 24.7.4 Test-Driven 645 648 Development 649 24.8 RPN Calculator 649 24.9 End of 653 24.9.1 Chapter Material Summary of Concepts 653 24.9.2 Exercises 654 24.9.3 Projects 654

Contents xv 25 Linked Lists 25.1 The 657 ADT List/Seq Arrays 657 25.2 Nature of 658 25.3 Nature of Linked Lists 658 25.4 Mutable Singly-Linked List 25.4.1 Implementing mutable.Buffer 660 25.4.2 666 663 Iterators Doubly-Linked List Immutable Singly-Linked List 25.5 Mutable 25.6 668 671 25.7 Linked List-Based Stacks and 25.7.1 25.8.1 674 Linked List-Based Stack 25.7.2 Linked List-Based 25.8 End of Queues Chapter 674 Queue 675 Material Summary of 676 676 Concepts 25.8.2 Exercises 25.8.3 676 Projects 677 26 Priority Queues 26.1 Two 679 Approaches Searching by Priority 679 26.1.2 Sorted Linked List 680 26.1.3 Problems with Arrays 682 26.1.1 26.2 Project Integration: 26.2.1 Cell 680 Discrete Event Simulation 683 Splitting 26.2.2 Collision Handling 26.3 End of 27 683 686 693 26.3.1 Chapter Material Summary of Concepts 26.3.2 Exercises 694 26.3.3 Projects 694 693 Refactoring 697 27.1 Smells 698 27.2 Refactorings 701 701 27.2.2 Refactoring Methods Introduce Null Object 27.2.3 Add and Remove Parameter 702 27.2.4 Cures for Switch Statements 27.2.1 Built-in 702 703 27.2.5 Consolidate Conditional Expression 27.2.6 Convert Procedural Design 27.2.7 Encapsulate 27.2.8 Push Down 27.2.9 Substitute 27.3 End of to . Objects Collection or Pull Up Field Algorithm 705 705 705 or Method 706 707 Chapter 27.3.1 Summary of Concepts 707 27.3.2 Exercises 708 27.3.3 Material Projects 707 708

xvi Contents 28 Recursion 709 28.1 Refresher 709 28.2 Project Integration: A Maze 710 28.2.1 713 Revisiting the Basic Approach Graphical Editing 28.2.2 28.3 28.2.3 Optimizing Graph Traversal 714 the Maze 716 718 28.4 Divide and "725 28.4.1 725 Conquer Merge Sort 28.4.2 Quicksort 727 28.4.3 Formula Parser 28.5 End of 28.5.1 - Chapter Material 731 28.5.2 Exercises 28.5.3 735 29.1 General Trees 735 29.1.1 Implementations 29.1.2 Traversals 736 737 29.2 Project Integration: Formula Parsing 740 29.2.1 Formula Tree Traversals and In-order Traversal Binary Search Trees: Binary as Maps 745 29.3.2 Immutable BSTs 752 Chapter Material 755 Analysis Concepts of 751 29.4.1 Summary 29.4.2 Exercises 756 29.4.3 Projects 757 and Context-Free Parsers Chomsky Grammars 30.1.1 Regular Grammars Grammars 755 759 759 761 30.1.2 Context-Free 30.1.3 Context-Sensitive Grammars 762 Recursively Enumerable Grammars Regular Expressions 762 30.2.1 Characters and Character Classes 763 Logical Operators and Capturing Groups 30.2.3 Greedy Quantifiers 30.2.4 Boundary Requirements 30.2.5 Using Regular Expressions in Code 30.2.6 Drawback of Regular Expressions 764 30.1.4 30.2 744 Order Regular Expressions 30.1 Trees 29.3.1 29.4 End of 30 732 732 Projects 29 Trees 29.3 730 731 Concepts Summary of 30.2.2 30.3 Context-Free Parsers 30.3.1 Default Output 30.3.2 Specified Output 761 762 765 765 766 768 768 770 770 30.4 Project Integration 771 30.5 End of 774 Chapter Material 30.5.1 Summary 30.5.2 Exercises 30.5.3 Projects of Concepts 774 775 776

Contents 31 Spatial Trees 31.1 31.2 777 Spatial Data and Grids Quadtrees and Octrees 777 782 785 31.3 kD-Trees 32 31.4 Efficient Bouncing Balls 789 31.5 End of Material 31.5.1 Chapter Summary of Concepts 789 31.5.2 Exercises 790 31.5.3 Projects 790 789 793 Binary Heaps 32.1 Binary Heaps 793 32.1.1 Binary Heaps as Arrays 32.2 Heaps as Priority Queues 32.3 Heapsort 793 32.4 End of 33.1 794 801 32.4.1 Chapter Summary of Concepts 802 32.4.2 Exercises 803 32.4.3 Projects 803 Material 33 Direct Access 802 Binary Files 805 805 Random Access Files 806 33.1.1 Fixed Record 33.1.2 Indexed Variable Record Structures 33.2 Linked 33.3 End of 33.3.1 Length Length 811 813 in Files 821 Chapter Material Summary of Concepts 821 33.3.2 Exercises 821 33.3.3 822 Projects 823 34 Actors 823 34.1 Actor Model 34.2 scala.actors The 34.2.1 824 Package receive Method and 34.2.2 react, loop, and 34.3 Circuit Simulation Messages loopWhile 825 828 830 Chapter Material 34.4.1 Summary of Concepts 840 34.4.2 841 34.4 End of 840 Exercises 842 34.4.3 Projects 35 xvii Augmenting Trees 35.1 Augmentation of Trees 843 35.2 Balanced BSTs 844 844 35.2.1 Rotations 35.2.2 Implementation 35.3 Order-Statistic Trees: Trees 35.4 843 Trees 845 as Augmented Spatial Chapter Material 35.5.1 Summary of Concepts 35.5 End of 35.5.2 Exercises Sequences 849 856 860 860 861

Contents xviii 35.5.3 36 861 Projects 865 Wrapping Up 865 36.1 What You Have Learned 36.2 The Possibilities/A Pet Project General 2-D Application 36.2.1 866 36.2.3 Mobile 867 36.2.4 Web 867 867 GPGPU 36.2.6 AI, NLP, and Machine 867 Open-Source Chapter Material 868 36.3.1 Exercises 868 36.3.2 Projects 868 Preview of Java 869 36.3 End of Quick 868 A.l Hello World 869 A.2 Arrays, Primitives, and More 871 A.3 File Names and Interfaces 872 A.4 Constructors and Override 874 A.5 Generics and Polymorphism 875 A.6 Lacking Functional Aspects 876 A. 7 Much More 876 877 Advanced Scala Concepts B. l abstract type Members 877 B.2 Enumerations 878 B.3 implicits B.3.1 B.3.2 878 Converstions Basic implict Rules and Limits on implicits B.3.3 implicit Parameters B.3.4 The Meaning of % 878 879 880 880 B.4 sealed classes 880 B.5 Covariant, Contravariant, and Invariant Types 881 B.6 Extractors 883 B.6.1 883 B.6.2 unapply unapplySeq 884 884 B.8 lazy Member Data scala.collection.immutable.Stream 885 B.9 Nested 885 B.7 Types B.10 Self Types B.ll C Learning and More 36.2.7 B 866 36.2.2 3-D Application 36.2.5 A 866 Making Glossary Executable JAR Files 887 887 889 Bibliography 893 Index 895

PROGRAMMING USING SCALA MarkC.Lewis CRCPress Taylor&FrancisCroup BocaRaton London NewYork CRCPressis animprintofthe Taylor &FrancisGroup, anInforma business . 1.5.2 Functional Programming 11 1.5.3 Object-Oriented Programming 12 1.5.4 Logic Programming 13 1.5.5 Nature ofScala 13 1.6 EndofChapter Material 13 1.6.1 SummaryofConcepts 13

Related Documents:

Silat is a combative art of self-defense and survival rooted from Matay archipelago. It was traced at thé early of Langkasuka Kingdom (2nd century CE) till thé reign of Melaka (Malaysia) Sultanate era (13th century). Silat has now evolved to become part of social culture and tradition with thé appearance of a fine physical and spiritual .

May 02, 2018 · D. Program Evaluation ͟The organization has provided a description of the framework for how each program will be evaluated. The framework should include all the elements below: ͟The evaluation methods are cost-effective for the organization ͟Quantitative and qualitative data is being collected (at Basics tier, data collection must have begun)

On an exceptional basis, Member States may request UNESCO to provide thé candidates with access to thé platform so they can complète thé form by themselves. Thèse requests must be addressed to esd rize unesco. or by 15 A ril 2021 UNESCO will provide thé nomineewith accessto thé platform via their émail address.

̶The leading indicator of employee engagement is based on the quality of the relationship between employee and supervisor Empower your managers! ̶Help them understand the impact on the organization ̶Share important changes, plan options, tasks, and deadlines ̶Provide key messages and talking points ̶Prepare them to answer employee questions

Dr. Sunita Bharatwal** Dr. Pawan Garga*** Abstract Customer satisfaction is derived from thè functionalities and values, a product or Service can provide. The current study aims to segregate thè dimensions of ordine Service quality and gather insights on its impact on web shopping. The trends of purchases have

Chính Văn.- Còn đức Thế tôn thì tuệ giác cực kỳ trong sạch 8: hiện hành bất nhị 9, đạt đến vô tướng 10, đứng vào chỗ đứng của các đức Thế tôn 11, thể hiện tính bình đẳng của các Ngài, đến chỗ không còn chướng ngại 12, giáo pháp không thể khuynh đảo, tâm thức không bị cản trở, cái được

ART 110 . Art Appreciation (2) ART 151 . Introduction to Social Practice Art (3) ART 281 . History of Western Art I (3) ART 282 . History of Western Art II (3) ART 384 . Art Since 1900 (3) ART 387. History of Photography (3) ART 389 . Women in Art (3) ENGL 270 . Introduction to Creative Writing (3)* HON 310 . Art in Focus (3)** each semester .

Oct 22, 2014 · ART ART 111 Art Appreciation ART 1301 Fine Arts ART 113 Art Methods and Materials Elective Fine Arts . ART 116 Survey of American Art Elective Fine Arts ART 117 Non Western Art History Elective Fine Arts ART 118 Art by Women Elective Fine Arts ART 121 Two Dimensional Design ART 1321 Fine Arts ART