Tài liệu Tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh

BÀI 1: KINH NGHIỆM XÂY DỰNG CHƯƠNG TRÌNH MÔN TIẾNG ANH CHUYÊN NGÀNH 1 VÀ 2 1. Cơ sở lý luận Để xây dựng chương trình môn học thì cần bắt đầu từ đề cương chi tiết. Đề cương chi tiết của môn học gồm có các phần sau: 1. Tên môn học – Mã môn học 2. Điều kiện tiên quyết: Những môn học cần hoàn thành trước môn học này 3. Mục tiêu môn học Những mục tiêu mà môn học cần đạt được theo kiến thức, kỹ năng, thái độ. 4. Nội dung chi tiết Nội dung chi tiết được chia theo từng chương, bài, các đề mục chính. 5. Cách kiểm tra đánh giá Nêu rõ hình thức kiểm tra, đánh giá, các điểm thành phần. 6. Tài liệu tham khảo chính Hiện nay khoa Công nghệ thông tin – Đại học Sư phạm Hà Nội chúng tôi sử dụng cuốn English for Computing của Thạc Bình Cường là giáo trình chính. Các nội dung dạy chúng tôi bám sát theo quyển giáo trình này. Ngoài ra chúng tôi cũng có bổ sung các tư liệu để tăng cường khả năng nghe nói của sinh viên cũng như cập nhật một số kiến thức Công nghệ thông tin mới.

pdf53 trang | Chia sẻ: linhmy2pp | Ngày: 09/03/2022 | Lượt xem: 375 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Tài liệu Tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
m định đề cương 8. Xây dựng bài giảng 9. Thẩm định bài giảng 10. Triển khai thử nghiệm C. Chương trình chi tiết 1. Course Name: Object-Oriented Programming With C++, COMP 240 2. Credits: 03 3. Plan - Lecture hall: 45 hours + Class: 35 hours + Assignment: 5 hours + Discussions 0 hours 15 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh + Experiment: 5 hours - Self- study: 90 hours 4. Prerequisites Students with the completion of Introduction to Informatics (COMP 103) is eligible to enroll this course. 5. Course objectives Upon completion of this course, students should: - Understand the basic concepts and principles of structured programming. - Understand the basic concepts and principles of object oriented programming. - Produce sample test cases, pseudocode or an incremental coding plan for a given programming problem statement. - Be able to design, write and test a C++ program to implement a working solution to a given problem specification. - Understand the operation of common data structures and algorithms. 6. Course description This course is designated to provide students basic principles of object oriented programming with a specific programming language C++. It is also oriented towards practical skills including current C++ programming technologies for graphical user interfaces (GUIs) Above contents can be organized in ordering chapters as follows: - Chapter 1. Introduction: What is object oriented programming? Why do we need objectoriented. Programming characteristics of object-oriented languages. C and C++. - Chapter 2. C++ Programming basics: Output using cout. Directives. Input with cin. Type bool. The setw manipulator. Type conversions. 16 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh - Chapter 3. Functions: Returning values from functions. Reference arguments. Overloaded function. Inline function. Default arguments. Returning by reference. - Chapter 4. Object and Classes: Making sense of core object concepts (Encapsulation, Abstraction, Polymorphism, Classes, Messages Association, Interfaces). Implementation of class in C++, C++ Objects as physical object, C++ object as data types constructor. Object as function arguments. The default copy constructor, returning object from function. Structures and classes. Classes objects and memory static class data. Const and classes. - Chapter 5. Arrays and string: arrays fundamentals. Arrays as class Member Data: Arrays of object, string, The standard C++ String class - Chapter 6. Operator overloading: Overloading unary operations. Overloading binary operators, data conversion, pitfalls of operators overloading and conversion keywords. Explicit and Mutable. - Chapter 7. Inheritance: Concept of inheritance. Derived class and based class. Derived class constructors, member function, inheritance in the English distance class, class hierarchies, inheritance and graphics shapes, public and private inheritance, aggregation: Classes within classes, inheritance and program development. - Chapter 8. Pointer: Addresses and pointers. The address of operator and pointer and arrays. Pointer and Faction pointer and C-types string. Memory management: New and Delete, pointers to objects, debugging pointers. - Chapter 9. Streams and Files: Streams classes, Stream Errors, Disk File I/O with streams, file pointers, error handling in file I/O with member function, overloading the extraction and insertion operators, memory as a stream object, command line arguments, and printer output. 17 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh - Chapter 10. Templates and Exceptions: Function templates, Class templates Exceptions - Chapter 11. The Standard Template Library: Introduction algorithms, sequence containers, iteators, specialized iteators, associative containers, strong user-defined object, function objects. 7. Requirements - Attend classed as required in university’s policies - Hand out assignments to deadlines. - Active in discussions 8. Textbooks and References Textbooks 1. “Thinking in C++”, 2nd Edition, Bruce Eckel, President, MindView, Inc. 2. “The Waite Group's Object-Oriented Programming in C++”, 3rd Edition, Robert Lafore and Waite Group. References 1. Stroustrup, Bjarne: The C + + Programming Language. Addison- Wesley, 3rd Edition 2. Cargill, Tom A.: PI: A Case Study in Object-Oriented Programming. SIGPLAN Notices, pp 350-360. 9. Evaluation Class Participation: 10% Midterm Exam: 30% Final exam: 60% 10. Scale: 10 Follow the policy 43/2007/QĐ-BGDĐT, released in August 15, 2007 by Ministry of Education and Training 18 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 11. Course content CHAPTER 1: INTRODUCTION 1.1 Why do we need objected-oriented programming? 1.2 OOP: An approach to Organization 1.3 Encapsulation 1.4 Inheritance 1.5 The Need for C++ 1.6 Characteristics of OOPs - 16 principles of OOPs 1.7 C++ and C CHAPTER 2: C++ PROGRAMMING BASICS 2.1 Basic program construction 2.1.1 Objects 2.1.2 Classes 2.1.3 Data abstraction & Encapsulation. 2.1.4 Inheritance 2.1.5 Polymorphism 2.1.6 Dynamic binding 2.1.7 Message passing 2.2 Basic Data Types in C++ 2.2.1. Built in type 1.2.2. User defined type 1.2.3. Derived type 2.3. Variables in C++ 19 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 2.3.1 Declaration of variables 2.3.2 Scope of variables 2.3.3 Dynamic initialization of variables 2.3.4 Reference variables 2.4 Operators in C++ 2.4.1 Assignment 2.4.2 Arithmetic operators 2.4.3 Compound 2.4.4 Increase and decrease 2.4.5 Relational and equality operators 2.4.6 Logical operators 2.4.7 Conditional operator 2.5 Structures 2.5.1 Introduction 2.5.2 if – else Statement 2.5.3 Nested ifs 2.5.4 The switch Statement 2.5.5 The for Loop 2.5.6 The while Loop 2.5.7 The do-while Loop 2.5.8 Using break to Exit a Loop 2.5.9 Using the goto Statement CHAPTER 3: FUNCTIONS 3.1 Introduction 3.2 Function 20 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 3.3 Arguments passed by value and by reference. 3.4 Default values in parameters 3.5 Overloaded functions 3.6 inline functions 3.7 Recursivity CHAPTER 4: OBJECT AND CLASSES 4.1 Introduction to Classes 4.2 Class Definition 4.3 Classes and Objects 4.4 Access specifies 4.4.1 Private members 4.4.2 Public members 4.4.3 Protected members 4.5 Member Functions of a class 4.6 Passing and Returning Objects 4.7 Creating and Using a Copy Constructor CHAPTER 5: ARRAYS AND STRINGS 5.1 Arrays fundamentals 5.2 One-dimensional arrays 5.3 Two-Dimensional Arrays 5.4 Arrays of Strings 5.5 Arrays of Objects 5.6 Introduction to strings class 5.7 C-string 5.8 The standard C++ string class 21 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 5.9 Input/output with string Objects CHAPTER 6: OPERATOR OVERLOADING 6.1 Operator Overloading 6.2 Defining operator overloading 6.3 Unary Operator over loading 6.4 Binary Operator overloading CHAPTER 7: INHERITANCE 7.1 Introduction 7.1.1 Inheritance 7.1.2 Need of Inheritance 7.2 Types of Inheritance 7.2.1 Single Inheritance 7.2.2 Multiple Inheritance 7.2.3 Hierarchical Inheritance 7.2.5 Hybrid Inheritance 7.3 Derived and Base Class 7.3.1 Base class 7.3.2 Derived class 7.4 Public Inheritance 7.5 Private Inheritance 7.6 Virtual Base Classes 7.7 Abstract Classes 7.8 Virtual Functions 7.9 Pure Virtual Functions 22 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh CHAPTER 8: POINTERS 8.1 Introduction 8.2 Pointer 8.3 The Pointer Operators 8.4 The Base Type of a Pointer 8.5 Assigning Values through a Pointer 8.6 Pointers and Arrays 8.7 Arrays of Pointers 8.8 Function Pointer 8.9 Assign an Address to a Function Pointer 8.10 Calling a Function using a Function Pointer 8.11 Pass a Function Pointer as an Argument 8.12 Return a Function Pointer 8.13 Pointers to Objects 8.14 Operators new and new[] 8.15 Operator delete and delete[] CHAPTER 9: STREAMS AND FILES 9.1 Input Output With Files 9.1.1 Open a file 9.1.2 Close a file 9.2 Methods of Input and Output Classes 9.2.1 Extraction Operator >> 9.2.2 get() 9.2.3 get(char &ch) 9.2.4 get(char *buff, int buffsize, char delimiter='\n') 23 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 9.2.5 Getline 9.2.6 peek() 9.2.7 putback(char &ch) 9.2.8 read(char *buff, int count) 9.3 Text mode files 9.4 State flags 9.5 get and put stream pointers 9.5.1 ifstream 9.5.2 ofstream 9.5.3 fstream 9.6 Binary files 9.7 I/O Manipulators CHAPTER 10: TEMPLATES AND EXCEPTIONS 10.1 Function templates 10.2 Class templates 10.3 Exceptions 10.4 Exception specifications CHAPTER 11: THE C++ STANDARD TEMPLATE LIBRARY 11.1 Introduction 11.2 Standard Templates 11.3 Iterators 11.4 Containers 11.5 Algorithms 11.6 Examples 24 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 12. Course schedule Chapter Total Lecture Assignment Experiment 1 Chapter 1 2 2 2 Chapter 2 5 3 2 3 Chapter 3 5 3 2 4 Chapter 4 3 3 5 Chapter 5 3 3 6 Chapter 6 3 3 7 Chapter 7 6 3 3 8 Chapter 8 6 3 3 9 Chapter 9 3 3 10 Chapter 10 3 3 11 Chapter 11 3 3 25 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh BÀI 3: KINH NGHIỆM XÂY DỰNG CHƯƠNG TRÌNH MÔN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1.1 Introduction 1.1.1. Course information 1. Course: DATA STRUCTURE & ALGORITHMS Course ID: COMP 226 2. Number of credits: 03 3. Level: Second-year Student (Sophomore) 4. Time table: - On class: 45 hours. + Theory: 30 hours. + Exercise: 7 hours. + Discussion: 0 hours. + Practice: 8 hours. - Self-study: 60 hours. 5. Prerequisites: Discrete Mathematics (COMP 122) 1.1.2. Aim of the course This course has three primary goals. The first is to present the commonly used data structures. These form a programmer’s basic data structure “toolkit.” For many problems, some data structure in the toolkit provides a good solution. The second goal is to introduce the idea of tradeoffs and reinforce the concept that there are costs and benefits associated with every data structure. This is done by describing, for each data structure, the amount of space and time required for typical operations. 26 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh The third goal is to teach how to measure the effectiveness of a data structure or algorithm. Only through such measurement you can determine which data structure in your toolkit is most appropriate for a new problem. The techniques presented also allow you to judge the merits of new data structures that you or others might invent. By the end of this course students should be able to: Knowledge: Achieve an understanding of fundamental data structures and algorithms and the tradeoffs between different implementations of these abstractions.  Theoretical analysis, implementation, and application.  Lists, Stacks, Queues  Heaps  Trees and balanced trees  Searching algorithms  Sorting algorithms  Graphs Skills: Design algorithms to solve real-life problems using:  The tools introduced  Analyze your solution  Efficiently implement your solution Attitude Recognizing the importance of the subject, then students have serious attitude, keen to learn and practice. 27 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 1.1.3. Use of language The programming examples are written in Java. As with any programming language, Java has both advantages and disadvantages. Java is a small language. There usually is only one way to do something, and this has the happy tendency of encouraging a programmer toward clarity when used correctly. In this respect, it is superior to C or C++. Java serves nicely for defining and using most traditional data structures such as lists and trees. On the other hand, Java is quite poor when used to do file processing, being both cumbersome and inefficient. It is also a poor language when fine control of memory is required. Since I wish to stick to a single language throughout the course, like any programmer I must take the bad along with the good. The most important issue is to get the ideas across, whether or not those ideas are natural to a particular language of discourse. Most programmers will use a variety of programming languages throughout their career, and the concepts described in this course should prove useful in a variety of circumstances. I do not wish to discourage those unfamiliar with Java from students. I have attempted to make the examples as clear as possible while maintaining the advantages of Java. Java is used here strictly as a tool to illustrate data structures concepts. Fortunately, Java is an easy language for C or Pascal programmers to read with a minimal amount of study of the syntax related to object-oriented programming. In particular, I make use of Java’s support for hiding implementation details, including features such as classes, private class members, and interfaces. These features of the language support the crucial concept of separating logical design, as embodied in the abstract data type, from physical implementation as embodied in the data structure. I make no attempt to teach Java within this course. An Appendix should be provided that describes the Java syntax and concepts necessary to understand the program examples. Inheritance, a key feature of object-oriented programming, is used only sparingly in the code examples. Inheritance is an important tool that helps programmers avoid duplication, and thus minimize bugs. From a pedagogical standpoint, however, inheritance often makes code examples harder to understand since it tends to spread the description for one logical unit among 28 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh several classes. Thus, some of my class definitions for objects such as tree or list nodes do not take full advantage of possible inheritance from earlier code examples. This does not mean that a programmer should do likewise. Avoiding code duplication and minimizing errors are important goals. Treat the programming examples as illustrations of data structure principles, but do not copy them directly into your own programs. I make a distinction in the course between “Java implementations” and pseudocode.” Code labeled as a Java implementation has actually been compiled and tested on one or more Java compilers. Pseudocode examples often conform closely to Java syntax, but typically contain one or more lines of higher level description. Pseudocode is used where I perceived a greater pedagogical advantage to a simpler, but less precise, description. 1.1.4. Textbooks Primary Textbook: 1. Robert Sedgewick. Algorithms in Java: Parts 1-4. Addison Wesley, third edition, 2002. 2. Michael T. Goodrich and Roberto Tamassia. Data Structures & Algorithms in Java. John Wiley & Sons, Inc, fourth edition, 2002. 3. Iain T. Adamson. Data Structures and Algorithms: A First Course. Springer, 1996. 4. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. Introduction to Algorithms. The MIT Press, third edition, 2009. 5. Gilles Brassard and Paul Bratley. Fundamentals of Algorithmics. Prentice hall, 1996. Other Books: 6. Douglas Baldwin and Greg W. Scragg. Algorithms and Data Structures: The Science of Computing. Charles river media, 2004. 7. Mark A. Weiss. Data Structures and Algorithm Analysis in C++. Florida international university, fourth edition, 2014. 29 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 8. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman. Data Structures and Algorithms. 9. Bruno R. Preiss. Data Structures and Algorithms with Object-Oriented Design Patterns in Java. 1999. 10. Peter Drake. Data Structures and Algorithms in Java. Prentice hall, 2005. 11. Robert L. Kruse and Alexander J. Ryba. Data Structures and Program Design in C++. Prentice hall, 2000. 12. Dinesh P. Mehta and Sartaj Sahni. Handbook of Data Structures and Applications. Chapman & Hall/CRC, 2005. 1.2 Brief description of course content 1.2.1 Contents Chapter 1: Data Structures and Algorithms This first chapter sets the stage for what is to follow, by presenting some higher-order issues related to the selection and use of data structures. We first examine the process by which a designer selects a data structure appropriate to the task at hand. We then consider the role of abstraction in program design. We briefly consider the concept of a design pattern and see some examples. The chapter ends with an exploration of the relationship between problems, algorithms, and programs. Chapter 2: Mathematical Preliminaries This chapter presents mathematical notation, background, and techniques used throughout the course. Chapter 3: Algorithm Analysis This chapter introduces the motivation, basic notation, and fundamental techniques of algorithm analysis. We focus on a methodology known as asymptotic algorithm analysis, or simply asymptotic analysis. Asymptotic analysis attempts to estimate the resource consumption of an algorithm. It allows us to compare the relative costs of two or more algorithms for solving 30 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh the same problem. Asymptotic analysis also gives algorithm designers a tool for estimating whether a proposed solution is likely to meet the resource constraints for a problem before they implement an actual program. After studying this chapter, you should understand  the concept of a growth rate, the rate at which the cost of an algorithm grows as the size of its input grows;  the concept of upper and lower bounds for a growth rate, and how to estimate these bounds for a simple program, algorithm, or problem; and  the difference between the cost of an algorithm (or program) and the cost of a problem. The chapter concludes with a brief discussion of the practical difficulties encountered when empirically measuring the cost of a program, and some principles for code tuning to improve program efficiency. Chapter 4: Lists, Stacks, and Queues This chapter describes representations for lists in general, as well as two important list-like structures called the stack and the queue. Along with presenting these fundamental data structures, the other goals of the chapter are to: (1) Give examples of separating a logical representation in the form of an ADT (Abstract Data Type) from a physical implementation for a data structure. (2) Illustrate the use of asymptotic analysis in the context of some simple operations that students might already be familiar with. In this way student can begin to see how asymptotic analysis works, without the complications that arise when analyzing more sophisticated algorithms and data structures. (3) Introduce the concept and use of dictionaries and comparator classes. We begin by defining an ADT for lists. Two implementations for the list ADT: the array-based list and the linked list are covered in detail and their relative merits discussed. And then, stacks and queues are studied, respectively. Sample implementations for each of these data structures are presented. 31 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh Chapter 5: Binary Trees This chapter describes contents as follows:  Presenting definitions and some key properties of binary trees.  Discusses how to process all nodes of the binary tree in an organized manner. Presents various methods for implementing binary trees and their nodes.  Present three examples of binary trees used in specific applications: the Binary Search Tree (BST) for implementing dictionaries, heaps for implementing priority queues, and Huffman coding trees for text compression. The BST, heap, and Huffman coding tree each have distinctive features that affect their implementation and use. Chapter 6: General Trees When we permit trees to have nodes with an arbitrary number of children, they become much harder to implement than binary trees. We consider such trees in this chapter. To distinguish them from the more commonly used binary tree, we use the term general tree.  Present general tree terminology.  Present a simple representation for solving the important problem of processing equivalence classes. Several pointer-based implementations for general trees are covered.  Aside from general trees and binary trees, there are also uses for trees whose internal nodes have a fixed number K of children where K is something other than two. Such trees are known as K-ary trees. Chương 7: Sorting Because sorting is so important, naturally it has been studied intensively and many algorithms have been devised. Some of these algorithms are straightforward adaptations of schemes we use in everyday life. Others are totally alien to how humans do things, having been invented to sort thousands or even millions of records stored on the computer. After years of study, there 32 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh are still unsolved problems related to sorting. New algorithms are still being developed and refined for special purpose applications. While introducing this central problem in computer science, this chapter has a secondary purpose of illustrating many important issues in algorithm design and analysis. The collection of sorting algorithms presented will illustrate that divide and conquer is a powerful approach to solving a problem, and that there are multiple ways to do the dividing. Mergesort divides a list in half. Quicksort divides a list into big values and small values. Sorting algorithms will be used to illustrate a wide variety of analysis techniques in this chapter. We’ll find that it is possible for an algorithm to have an average case whose growth rate is significantly smaller than its worse case (Quicksort). We’ll see how it is possible to speed up sorting algorithms (Quicksort) by taking advantage of the best case behavior of another algorithm (Insertion sort). We’ll see several examples of how we can tune an algorithm for better performance. We’ll see that special case behavior by some algorithms makes them the best solution for special niche applications (Heapsort). Sorting provides an example of a significant technique for analyzing the lower bound for a problem. The present chapter covers several standard algorithms appropriate for sorting a collection of records that fit in the computer’s main memory. It begins with a discussion of three simple, but relatively slow, algorithms requiring (𝑛2) time in the average and worst cases. Several algorithms with considerably better performance are then presented, some with (𝑛 log 𝑛) worst-case running time. The final sorting method presented requires only (𝑛) worst-case time under special conditions. The chapter concludes with a proof that sorting in general requires (𝑛 log 𝑛) time in the worst case. Chapter 8. Searching We can categorize search algorithms into three general approaches: 1. Sequential and list methods. 2. Direct access by key value (hashing). 3. Tree indexing methods. 33 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh Chapter 9. Graphs We introduce some basic graph terminology and then define two fundamental representations for graphs, the adjacency matrix and adjacency list. We then presents a graph ADT and simple implementations based on the adjacency matrix and adjacency list. We discuss some algorithms on graph:  Two most commonly used graph traversal algorithms, called depth-first and breadth-first search, with application to topological sorting.  Algorithms for solving some problems related to finding shortest routes in a graph.  Algorithms for finding the minimum-cost spanning tree, useful for determining lowest-cost connectivity in a network. Besides being useful and interesting in their own right, these algorithms illustrate the use of some data structures presented in earlier chapters. 1.2.2 Exercise and projects Proper implementation and analysis of data structures cannot be learned simply. Students must practice by implementing real programs, constantly comparing different techniques to see what really works best in a given situation. One of the most important aspects of a course in data structures is that it is where students really learn to program using pointers and dynamic memory allocation, by implementing data structures such as linked lists and trees. It's also where students truly learn recursion. In our curriculum, this is the first course where students do significant design, because it often requires real data structures to motivate significant design exercises. Finally, the fundamental differences between memory-based and disk-based data access cannot be appreciated without practical programming experience. For all of these reasons, a data structures course cannot succeed without a significant programming component. In our department, the data structures course is arguably the most difficult programming course in the curriculum. 34 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh Students should also work problems to develop their analytical abilities. I provide over 500 exercises and suggestions for programming projects. I urge readers to take advantage of them. 1.3 Progress STT Chapter Total Lecture Assignment Experiment 1 Chapter 1 5 3 2 0 2 Chapter 2 5 3 2 0 3 Chapter 3 6 4 2 0 4 Chapter 4 6 4 2 0 5 Chapter 5 6 4 2 0 6 Chapter 6 5 3 2 0 7 Chapter 7 4 3 1 0 8 Chapter 8 4 3 1 0 9 Chapter 9 4 3 1 0 35 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh BÀI 4: KINH NGHIỆM XÂY DỰNG CHƯƠNG TRÌNH TẬP HUẤN CHO GIÁO VIÊN PHỔ THÔNG GIẢNG DẠY BẰNG TIẾNG ANH 1.1 Cơ sở lý thuyết 1. Văn bản về việc tập huấn - Quyết định 469/QĐ-BGDĐT ngày 14/02/2014 của Bộ Giáo dục và Đào tạo; - Quyết định 666/QĐ-BGDĐT ngày 27/02/2014 của Bộ Giáo dục và Đào tạo; - Quyết định 331/KH–BGDĐT ngày 14/5/ 2014 của Bộ Giáo dục và Đào tạo; 2. Mục đích tập huấn Để tiếp tục phát huy hiệu quả các đợt tập huấn giáo viên dạy các môn khoa học bằng tiếng Anh trong trường trung học phổ thông (THPT) năm 2013, Bộ Giáo dục và Đào tạo (GDĐT) tổ chức các đợt tập huấn tiếp theo nhằm mục đích: - Nâng cao thêm một bước năng lực nghe, nói, đọc, viết bằng tiếng Anh cho giáo viên dạy các môn Khoa học bằng tiếng Anh trong trường THPT - Củng cố chất lượng hiện có và nâng cao trình độ cho đội ngũ giáo viên nòng cốt nhằm sớm mở rộng diện thí điểm dạy các môn khoa học bằng tiếng Anh trong trường THPT. 3. Nội dung tập huấn - Bổ sung nhằm gia tăng vốn từ vựng đời sống và từ vựng phục vụ cho từng môn học, củng cố những tri thức về ngữ pháp tiếng Anh về cả lí thuyết và thực hành. - Luyện tập kĩ năng nghe - nói giữa giáo viên và học sinh, đặc biệt chú trọng việc phát âm theo đúng chuẩn mực nhằm nâng cao hiệu quả trong việc truyền thụ và tiếp nhận tri thức khoa học của từng môn học và đối thoại bằng tiếng Anh trong quá trình dạy học. - Thực hành một số giờ lên lớp bằng tiếng Anh theo từng môn học; tạo môi trường và nâng cao kĩ năng giao tiếp; giúp giáo viên tự tin và làm chủ tình thế; chia sẻ và trao đổi kinh nghiệm dạy học bằng tiếng Anh. 4. Đối tượng học viên tham gia tập huấn - Là giáo viên dạy các môn Toán, Vật lý, Hóa học, Sinh học, Tin học trường THPT thuộc các sở giáo dục và đào tạo (sở GDĐT); các trường thực hành sư phạm (THSP) thuộc Đại học Sư phạm (ĐHSP), trường 36 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh THPT chuyên thuộc ĐHSP, Đại học Quốc gia Hà Nội (ĐHQGHN), Đại học Quốc gia Thành phố Hồ Chí Minh (ĐHQGTP. Hồ Chí Minh), có đủ năng lực chuyên môn và khả năng sử dụng Anh ngữ trong giảng dạy các môn học trên. - Mỗi sở GDĐT đề xuất số lượng giáo viên THPT từ 2 - 3 giáo viên / môn học. Các trường THPT thực hành sư phạm, THPT chuyên thuộc các trường ĐHSP, ĐHQG cử 01 giáo viên / môn học. 5. Địa điểm và thời gian tập huấn a) Địa điểm 1 : TP. Hải Phòng - Dành cho học viên thuộc 25 tỉnh, thành phố: Hà Nội, Hà Nam, Ninh Bình Nam Định, Hải Phòng, Vĩnh Phúc, Bắc Ninh, Hải Dương, Hưng Yên, Thái Bình, Hà Giang, Cao Bằng, Lào Cai, Bắc Kạn, Lạng Sơn, Tuyên Quang, Yên Bái, Thái Nguyên, Phú Thọ, Bắc Giang, Quảng Ninh, Lai Châu, Điện Biên, Sơn La, Hòa Bình; - Thời gian dự kiến: 05 ngày, trong tháng 1/2015; - Số học viên dự kiến: 300. b) Địa điểm 2 : Tại TP. Đà Nẵng - Dành cho học viên của 16 tỉnh, thành phố: Thanh Hóa, Nghệ An, Hà Tĩnh, Quảng Bình, Quảng Trị, Thừa Thiên-Huế, Đà Nẵng, Quảng Nam, Quảng Ngãi, Bình Định, Phú Yên, Khánh Hòa, Kon Tum, Gia Lai, Đắk Lắk, Đắk Nông; - Thời gian dự kiến: 05 ngày, trong tháng 1/2015; - Số học viên dự kiến: 230. c) Địa điểm 3: Tại TP. Hồ Chí Minh - Dành cho học viên của 22 tỉnh, thành phố: TP. Hồ Chí Minh, Ninh Thuận, Lâm Đồng, Bình Phước, Tây Ninh, Bình Dương, Đồng Nai, Bình Thuận, Bà Rịa-Vũng Tàu, Long An, Đồng Tháp, An Giang, Tiền Giang, Vĩnh Long, Bến Tre, Kiên Giang, Cần Thơ, Hậu Giang, Trà Vinh, Sóc Trăng, Bạc Liêu, Cà Mau; - Thời gian dự kiến: 05 ngày, trong tháng 1/2015; - Số học viên dự kiến: 250. 6. Các đơn vị tham gia thi hành 37 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh - Vụ Giáo dục Trung học - Chương trình phát triển giáo dục trung học - Các sở giáo dục và đào tạo; các trường THSP, trường THPT chuyên thuộc ĐHSP, ĐHQGHN, ĐHQG TP. Hồ Chí Minh 7. Đội ngũ biên soạn tài liệu và tập huấn môn Tin học Trường Đại học Sư phạm Hà Nội: - PGS.TS. Hồ Cẩm Hà, khoa Công nghệ thông tin, ĐHSP Hà Nội - PGS.TS. Nguyễn Thị Tĩnh, khoa Công nghệ thông tin, ĐHSP Hà Nội - TS. Nguyễn Thế Lộc, khoa Công nghệ thông tin, ĐHSP Hà Nội - ThS. Kiều Phương Thùy, khoa Công nghệ thông tin, ĐHSP Hà Nội - ThS. Nguyễn Chí Trung, khoa Công nghệ thông tin, ĐHSP Hà Nội Những cơ quan khác: - TS. Quách Tất Kiên, Vụ GDTH - TS. Trương Tất Hiển, Vụ GDTX - TS. Đỗ Đức Đông, ĐHQG HN 1.2 Tiến trình Phần II. KĨ THUẬT DẠY HỌC TÍCH CỰC I. ACTIVITY 1 1. Task assignment Among the following images, in your opinion, which is the best representation of active learning processes, and which is the poorest representation of active learning processes? A. B. 38 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh C. D. E. F. 2. Execution Trainees work in groups to come up with an answer and provide an explanation. 3. Presentation and Discussion Each group is to present and discuss with the class. 4. Trainer’s comment Trainer gives general comment on the answers and move on to the next activity. II. ACTIVITY 2 1. Task assignment - Read through the passage once to get the general idea. - Read it again more slowly, trying to identify what the missing words or parts of words are. - Work in groups to discuss the missing words, and agree on the best possible answer in each case. - Answer the question Adapting materials You know what materials you are going to use in your training session. The next step is to consider how they can be best used to develop active learning. Active learning is very often associated with interactive and collaborative activities, including group and pair work, debates, brain-storming, investigations, problem trees etc, and your challenge as a trainer is to transform the content of those materials into something that will engage your E. . 39 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh participants intellectually, verbally, visually or physically. In your plans for using materials, we hope you will take into account points we have covered in the Active Learning methodology modules, particularly the section on using pair and group work, and on making effective use of learning aids. We don’t just adapt materials for the sake of variety; we do it because – as you know – different people learn best in different ways. Providing different approaches to learning helps cater to different learning styles. Much teaching / learning is built around written texts - sometimes presented as lectures, sometimes as texts to be read. But to make the activity of learning from such texts more challenging, more active, more interactive and more memorable, there is a wide range of activity-types that can be used - for example, putting extracts of a text in a logical order. Other learning can be built on oral work, with a written text being the outcome of the learning process - for example, a brainstorming activity followed by individual or group writing. And some activities can be exclusively written or exclusively oral, or any combination of the two. Most activities are built around some sort of information gap, with the activity being to bridge the gap. Question: What is Active Learning? 2. Trainees' Execution - Trainees discuss in groups to execute the task assigned. - When you have finished, ask your trainer where you can find the original version of the text. - In groups, compare your answers with the complete text, and discuss any differences. If there were differences, were your answers acceptable alternatives? - Discuss the content of the reconstructed text. 3. Presentation and Discussion - Trainees present to the class as groups and discuss about Active Learning. 4. Trainer's comment Active learning is very often associated with interactive and collaborative activities, including group and pair work, debates, brain-storming, investigations, problem trees etc. 40 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh Answer key: Completed passage: "You know what materials you are going to use in your training session. The next step is to consider how they can be best used to develop active learning. Active learning is very often associated with interactive and collaborative activities, including group and pair work, debates, brain-storming, investigations, problem trees etc, and your challenge as a trainer is to transform the content of those materials into something that will engage your participants intellectually, verbally, visually or physically. In your plans for using materials, we hope you will take into account points we have covered in the Active Learning methodology modules, particularly the section on using pair and group work, and on making effective use of learning aids. We don’t just adapt materials for the sake of variety; we do it because – as you know – different people learn best in different ways. Providing different approaches to learning helps cater to different learning styles. Much teaching / learning is built around written texts - sometimes presented as lectures, sometimes as texts to be read. But to make the activity of learning from such texts more challenging, more active, more interactive and more memorable, there is a wide range of activity-types that can be used - for example, putting extracts of a text in a logical order. Other learning can be built on oral work, with a written text being the outcome of the learning process - for example, a brainstorming activity followed by individual or group writing. And some activities can be exclusively written or exclusively oral, or any combination of the two. Most activities are built around some sort of information gap, with the activity being to bridge the gap." III. ACTIVITY 3 Using Pair and Group Work 1. Imagine you have a group of about 30 participants, and imagine the following situations. At any moment during the session, how many people are getting the chance to speak? a) Participants working in groups of 4 discussing a topic. everyone ON TWO 8 or less about 15 41 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh b) One participant answering the trainer’s question. c) Participants doing pair work d) One person reading aloud from a book. e) The trainer lecturing to participants. 2. Complete these sentences  Trainers should use pair and group work because  Trainers often don’t use pair and group work because  Trainers could use pair and group work if 3. Read the following statements. Decide if you agree or disagree with each. everyone ON TWO 8 or less about 15 everyone ON TWO 8 or less about 15 everyone ON TWO 8 or less about 15 everyone ON TWO 8 or less about 15 42 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh  Sitting in groups means some participants can't see the board so will not learn anything.  If the participants are working in small groups, the trainer cannot monitor what they are all saying  Putting participants into pairs or groups means the trainer loses control  Putting participants into groups means there will be too much noise  Moving the furniture makes too much noise and disturbs other sessions Question: Who needs to practice thinking and talking through their ideas most: the trainer or the participant? Seating arrangements for a group Think about the advantages and disadvantages of the physical seating arrangements for groups. Fill in the chart below: Lines or circles? Line: O O O O O O O O = participant Circle: O O O O O O Advantages: Advantages: Disadvantages: Disadvantages: 43 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh  Can you see everyone in the group’s face easily as you talk?  Can you hear everyone in the group easily when they speak?  What do you think is the ideal number in a group to maximise interaction? This is a training room: FRONT OF ROOM Table Table Table 1O 2 O 3O 4O 5 O 6 O Table Table Table 7O 8O 9O 10O 11O 12 O Table Table Table 13O 14O 15O 16O 17 O 18 O Table Table Table 19O 20O 21O 22O 23O 24O Imagine you have a training room with tables that cannot easily be moved, yet you want your class to do pair and group work, with new people to share ideas with at each stage. Consider: a) How could you put these learners into pairs? b) How could you now put them into fresh pairs? c) How could you group them into threes? d) How could you group them into fresh groups of three? O = participant 44 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh e) How could you group them into fours? f) How could you group them into fresh groups of four? When do we use which, and why? Look at the reasons a – g below the chart, and write the letters in the appropriate column in the chart (note that some might go in both boxes). We use pair and group work We use plenary For training activities, either pair or group work can be done for these reasons. Pair work maximises the amount of interaction at anyone time. Group work ensures more heads and therefore more ideas or answers to explore. a) To give participants the chance to speak to the group as a whole b) To promote active learning and reduce dependence on the trainer c) For sharing ideas in preparation for an activity in order to activate the necessary ideas d) Before presenting answers / opinions resulting from the activities above to the class so... ... participants have the chance to rehearse their answer ... and in doing so 'out of the limelight', help build their confidence e) To introduce a topic / idea / activity to all participants f) To do a final check so that all participants leave the activity with a clear overview of the activity, and can check and compare their own answers. g) To maximise learners’ speaking opportunities 45 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh Phần III. KẾ HOẠCH BÀI HỌC MẪU (Tin học 10, bài 3) LESSON 3 – COMPUTER I. Objectives 1. Knowledge  Recognize the basic components of a computer system and their functions.  Know that hardware and software are both needed to operate computer.  Know that a computer can exist in a veriety of sizes and configurations. 2. Skill Through the lesson, students will be able to:  Identify the basic components of a computer system.  Improve the reading comprehension skills, in particular, reading the documents on the hardware of computers  Enhance the abilities of solving the problems related to the roles of each components of a computer system.  Enhance the reading comprehension skills on documents on computer systems and express their knowledge of computer system in English  Discussion on the main physical unit of a computer system and their uses.  Enhance skills to articulate, read and translate to understand knowledge of computer system in English. 3. Attitude Computers are now part of our everyday life. Therefore, we need to have knowledge about the computer system to use it effectively. II. Preparation for teaching equipments  Dispense the hardcopies of this lesson for students before.  Compiling the teaching materials in power point.  Laptop, projector, screen, loudspeaker, video. III. Teaching methods 46 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh  Discussion on key terms or new concepts.  Students observe figures or watching video.  Focus on practice of listening, speaking, reading comprehension of documents on components of a computer system.  Problem-based learning, , group discussion IV. Key Terms ALU Arithmetic Logic Unit đơn vị xử lý số học và logic Camera / 'kæmərə/ máy quay Card / kɑ:d/ bo mạch, vỉ CD (Compact Disk) /kəm'pækt disk/ đĩa quang (CDROM) Configuration / kən,figju'rei∫n/ cấu hình máy tính CPU (Central Processing Unit) /'sentrəl 'prousesiη 'ju:nit/ bộ xử lý trung tâm CU (Control Unit) /kən'troul 'ju:nit/ đơn vị điều khiển Hardware /'hɑ:dweə/ thiết bị phần cứng Joystick /'dʒɔistik/ cần điều khiển Laptop / 'læptɔp/ máy tính xách tay Mainframe /'mein,frein/ máy tính rất lớn Memory /'meməri/ bộ nhớ trong của máy PC V. Teaching and learning process ACTIVITY 1. Make warm up Task assignment: 47 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh  List the names of softwares that you have ever used (Suggestion: to play game, to learn, to edit images, to calculate, to listen to the music )  List the names of computers that you have ever used or seen (Suggestion: HP, DELL, SONY VAIO, SAMSUNG MOBI,) Students’activities: Students discuss in groups to complete the erased parts of the passage Presentation and Discussion: Students present in groups and discuss with the whole class Teacher’s: Teachers give comments, evaluations and corrections to students’ answers ACTIVITY 2. Explain key terms and new concepts Task assignment: Read the following passage and answer the questions Hardware consists of all the machinery and equipment in a computer system. The hardware includes, among other devices, the keyboard, the screen, the printer, and the “box”—the computer or processing device itself. Hardware is useless without software. Software, or programs, consists of all the electronic instructions that tell the computer how to perform a task. These instructions come from a software developer in a form (such as a CD, or compact disk) that will be accepted by the computer. Examples are Microsoft Windows and Office XP/Vista. Question 1. (Multiple choice test) ... are examples about hardware A. The mouse B. The CPU C. CD (Compact Disk) D. MS. Word 2010 Question 2. (Gap filling test) 48 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh Computer software, or simply software is any set of machine-readable _____________ that directs a _____________ to perform specific operations. Question 3. _____________ is a software. A. MS. Excel B. every electronic instruction C. CD (Compact Disk) D. task Students’activities: Students discuss in groups to complete the erased parts of the passage Presentation and Discussion: Students present in groups and discuss with the whole class Teacher’s: Teachers give comments, evaluations and corrections to students’ answers Answer key Question 1: (A), (B) and (C) Question 2: Computer software, or simply software is any set of machine-readable instructions that directs a computer's processor to perform specific operations. Question 2: (D) ACTIVITY 3. Discussion Have you ever wondered  How many types of computers?  What do you think about the clause: "There is a kind of computer suitable for all types of jobs"? Students’activities: Students discuss in groups Presentation and Discussion: 49 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh Students present in groups and discuss with the whole class Teacher’s: Teachers give comments, evaluations and corrections to students’ answers ACTIVITY 4. Reading Comprehension and translation into Vietnam Task assignment: Read the following passage and translate it into Vietnamese COMPUTER Computer is an electronic device that stores, retrieves, and processes data, and can be programmed with instructions. A computer is composed of hardware and software, and can exits in a veriety of sizes and configurations. In the 1950s and 1960s, computers were enormous machines affordable only by large institutions. Now they come in a variety of shapes and sizes, which can be classified according to their processing power: supercomputers, mainframe computers, workstations, microcomputers and microcontrollers Supercomputers are high-capacity machines with thousands of processors that can perform more than several trillion calculations per second. Students’activities: Students discuss in groups Presentation and Discussion: Students present in groups and discuss with the whole class Teacher’s: Teachers give comments, evaluations and corrections to students’ answers Answer key: Translation into Vietnamese MÁY TÍNH ĐIỆN TỬ Trong những năm 1950 và 1960, máy tính là những cỗ máy rất lớn, chúng chỉ có thể chi trả được bởi các tổ chức lớn. Bây giờ máy tính có nhiều hình dạng và kích cỡ, có thể được phân loại theo sức mạnh xử lý của chúng: siêu máy tính, máy tính lớn, máy trạm, máy vi tính và vi điều khiển. Siêu máy tính là những cỗ máy công suất lớn với hàng ngàn bộ vi xử lý có thể thực hiện nhiều hơn một vài nghìn tỷ phép tính mỗi giây. 50 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh ACTIVITY 7. Listening and watching video clips in following page https://www.youtube.com/watch?v=CVDYHUoZTsw 1. List the components of computer, which were mentioned in the video. 2. What is the main function of CPU? ACTIVITY 8. Exercise. Multichoice questions 1. Which of the following devices converts computer output into displayed images? A. printer B. monitor C. hard-disk drive D. processor 2. Which of the following computer types is the smallest? A. mainframe B. microcomputer C. microcontroller D. supercomputer E. workstation 3. Which of the following is a secondary-storage device? A. processor B. memory chip C. hard-disk drive D. printer E. monitor 4. Which of the following operations constitute the four basic operations followed by all computers? A. input B. storage C. programming D. output E. processing 5. Speakers are an example of A. an input device. B. an output device. C. a processor. D. a storage device. Students’activities: Students discuss in groups Presentation and Discussion: Students present in groups and discuss with the whole class Teacher’s: Teachers give comments, evaluations and corrections to students’ answers Answer key: 51 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 1.A, 2.C, 3.A, 4.E, 5.A ACTIVITY 9. Filling the gap 1. __________ is an electronic device that stores, retrieves, and processes data, and can be programmed with instructions. 2. __________ and software are both needed to operate computer. 3. Hardware consists of a system unit, input devices, __________ and secondary storage devices 4. The __________significantly impacts overall computing power and manages most of acomputer’s operations. 5. The __________holds the instructions and data wich are currently being processed by the CPU 6. __________ (hard disk, Compact disk,) provide a permanent storage of both data and programs. 7. __________ (mouse, keyboard,) enable data to go into the computer. 8. __________ (monitor, printer,) enable us to extract the finished produce from the compute system. Students’ Execution: Students discuss in groups Presentation and Discussion: Students present in groups and discuss with the whole class Teacher’s: Teachers give comments, evaluations and corrections to students’ answers Answer key: 52 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 1. Computer 2. Hardware. 3. output devices 4. CPU. 5. main memory 6. Storage devices. 7. Input devices 8. Output devices

Các file đính kèm theo tài liệu này:

  • pdfcntt_tai_lieu_tap_huan_giang_vien_0128_1847574.pdf
Tài liệu liên quan