TÀI LIỆU TẬP HUẤN GIẢNG VIÊN DẠY CHUYÊN NGÀNH BẰNG TIẾNG ANH KHOA: CÔNG NGHỆ THÔNG TIN MỤC LỤC 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 ............................................................................................. 2 BÀI 2: KINH NGHIỆM XÂY DỰNG CHƯƠNG TRÌNH VÀ BÀI GIẢNG MÔN “LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI C++” ...................................... 14 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 ........................................................................................ 25 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 ...................... 35 1 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. 2 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 2. Đề cương chi tiết môn học Tiếng Anh chuyên ngành 1 và Tiếng Anh chuyên ngành 2 Dựa trên cấu trúc của đề cương chi tiết môn học ở trên, chúng tôi xin giới thiệu trích dẫn đề cương môn học Tiếng Anh chuyên ngành 1 và 2 của chúng tôi ở các phần đầu. Chi tiết cụ thể nội dung môn học của đề cương chúng tôi để trong phần phụ lục. 1. Course name: ENGLISH FOR INFORMATION TECHNOLOGY 1 Course code : 2. Level : COMP 350 thirst-year students 3. Numbers of Credits: 02 4. Time-Distribution: - On class: 30 hours + Lesson: 24 hours + Works: 3 hours + Group presentation: 3 hours - Home Study: 60 hours 5. Pre-requirement subjects: COMP 103 6. Course Objectives: After finishing this module, students must achieve the following objectives: 1. knowledge - To equip students with a number of basic computing terminology. - Presentation and discussion of various topics of Information Technology. - Familiarize yourself some realistic situations such inquiry, complain, write cover letters, ... 2. Skill 3 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh Development of all four language skills: Listening, reading, writing, translating English materials specialized Information Technology 3. Attitude Recognizing the importance of the subject, which has serious attitude, keen to learn and practice. 7. Brief description of course content: To equip students with a number of basic computing terminology. Presentation and discussion of various topics of Information Technology. Familiarize yourself some realistic situations such inquiry, complain, write cover letters, Development of all four language skills: Listening, reading, writing, translating English materials specialized Information Technology. 1. Course Name: English for Information Technology 2 2. Credits: 02 3. Plan: - Lecture hall: 30 hours + Lecture: 18 hours + Students’ presentation: 6 hours + Tutorials and Discussion: 6 hours - Self-study : 90 hours 4. Prerequisites: Before study this subject, students should complete the following subjects: 4 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh - English for IT and Computer Users 1, COMP - Introduction to Information System 5. Course Objectives Knowledges: After successfully completing this course, students can: - Have quite rich English vocabulary in IT fields - Read and understand IT materials written in English - Write average articles on general IT topics - Speak in English on simple IT topics - Listen and understand short messages spoken in English - Discuss on simple IT topics - Make Presentations on interested IT topics - Undestand jobs in IT field and write CV and job application - Know a lot of basic software: operating systems, GUI, Word Processing, Spread Sheet, Database, Internet software - Know about careative software: Graphics and design, Destop publishing, Multimedia - Know more about progrmming: program design, Programing languages,… - Know the future of computers Skills: - Be able to speak in English on simple IT topics - Be able to take part actively in group discussion in English - Be able to write short essay on IT jobs and express interests in some kind of jobs. - Be able to search for, read and understand English materials in 5 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh IT courses -Be able to write CV and job application -Be able to listen and understand English News, reports on the IT fields. Attitude: Students will be more confident in their abilities in English language using in IT fields. As a result, they are willing to join the IT professional group to work. There are more chances for them to get good jobs in the IT field. 6. Course Description This is the second course in English for IT and computer users in the IT Bachelor curiculum, that is why it is more advanced compared with the first course, in terms of four main skills in English: Reading comprehension, listening comprehension, writing skills ans speaking. This course updates and includes all the basic concepts in IT that make students be familiar with this field and perceive useful knowledge in the field. There are many topics on IT in this course, etracted from IT professional articles, Web pages, manuals and advertisments. The course emphasizes on reading comprehension skills. Important lexical items are isolated for special attention and significant point of grammar are thoroughly treated and revised. Beside text in the text books, students are given a lot of reading materials in English to read for enriching their vocabulary. They are also required to write short and average articles aiming to develop their writing skills. Students are encouraged to listen to radio and watching English progrma on TV or English channels. They are also require to search English materials on the topics given, especially to look for jobs on the IT fields, write about those jobs and write job application together with writing their CV. 6 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh II. Kinh nghiệm giảng dạy môn Tiếng Anh chuyên ngành 1. Một số kinh nghiệm - Theo kinh nghiệm của chúng tôi giảng dạy Tiếng Anh chuyên ngành để hấp dẫn với sinh viên luôn bắt đầu bằng 1 hoạt động khởi động (Warm up), có thể là chơi trò chơi hoặc nghe hay xem 1 đoạn phim và bình luận về đoạn phim đó. - Các bài học đều yêu cầu sinh viên chuẩn bị trước ở nhà, tra từ mới, tự đọc dịch và làm trước các bài tập. - Các bài tập tổ chức dưới dạng các hoạt động để tăng cường tính tích cực, chủ động, sáng tạo của sinh viên. - Cho sinh viên tự đề xuất và lựa chọn các chủ đề trong lĩnh vực Công nghệ thông tin để trình bày nhằm tăng cường kỹ năng nói và kỹ năng thuyết trình bằng tiếng Anh. 2. Gợi ý một số hoạt động, trò chơi, tư liệu tham khảo thêm cho môn học Tiếng Anh chuyên ngành 1 và 2 2.1. Một số trò chơi với từ vựng 2.1.1. Trò chơi đoán chữ (Guess word) Chia lớp thành 4 nhóm (tùy theo số lượng sinh viên mà số nhóm có thể ít hoặc nhiều hơn). Các từ mới được viết vào trong 4 mảnh giấy. Mỗi nhóm cử một bạn đại diện lên mô tả các từ trong mảnh giấy để các bạn còn lại trong nhóm đoán. Nhóm nào đoán được nhiều từ hơn sẽ chiến thắng. 7 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 2.1.2. Trò chơi “Tam sao thất bản” Chia lớp thành 4 nhóm (tùy theo số lượng sinh viên mà số nhóm có thể ít hoặc nhiều hơn). Các từ mới được viết vào trong 4 mảnh giấy. Các bạn trong nhóm sẽ nói thầm vào tai nhau danh sách các từ đó, từ bạn đầu tiên cho đến bạn cuối cùng. Bạn cuối cùng sẽ viết lại những từ đã nghe được lên bảng. Nhóm nào viết được nhiều từ đúng hơn sẽ chiến thắng. 2.1.3. Trò chơi “Nối chữ” (Linked word) Chia lớp thành 4 nhóm (tùy theo số lượng sinh viên mà số nhóm có thể ít hoặc nhiều hơn). Các nhóm sẽ lần lượt nói các từ mới (chuyên ngành CNTT) với điều kiện nhóm trước kết thúc ở từ nào thì nhóm sau bắt đầu với từ đó hoặc từ có chứa từ đó. 2.1.4. Trò chơi “Ô chữ” (Crossword) Giáo viên xây dựng các ô chữ liên quan đến CNTT trên PowerPoint và chia nhóm lớp cùng chơi hoặc chơi theo cá nhân. 2.2. Một số clip luyện nghe Operating System: https://www.youtube.com/watch?v=5AjReRMoG3Y Graphical User Interface: https://www.youtube.com/watch?v=bJ0BgKJcdy4 Word processor: https://www.youtube.com/watch?v=I54KPQbO52I Spreadsheets: https://www.youtube.com/watch?v=5B8MqrxmUOA Database https://www.youtube.com/watch?v=FR4QIeZaPeM Internet https://www.youtube.com/watch?v=9hIQjrMHTv4 https://www.youtube.com/watch?v=7_LPdttKXPc 8 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. Một số chủ đề để luyện nói 2.3.1. Mạng xã hội (Social Network) Sinh viên có thể thuyết trình về những mặt tích cực hoặc tiêu cực của mạng xã hội, liệt kê một số trang mạng xã hội thường dùng hiện nay như Facebook, Zalo. 2.3.2. Máy tìm kiếm (Search Engine) Sinh viên có thể thuyết trình về các máy tìm kiếm, liệt kê một số máy tìm kiếm phổ biến như Google, Bing,… Có thể trình bày về lịch sử của Google, các cách tìm kiếm hiệu quả với Google. 2.3.3. Mạng máy tính (Computer Network) Sinh viên có thể thuyết trình các lý thuyết về mạng như thế nào là mạng máy tính, các thành phần của mạng máy tính, các kiểu kiến trúc mạng,... 2.3.4. Các thiết bị vào (Input Devices) Sinh viên có thể thuyết trình về định nghĩa thiết bị vào, liệt kê các loại thiết bị vào, chức năng của nó… hoặc có thể lựa chọn giới thiệu chi tiết về một trong các thiết bị vào. 2.3.5. Các thiết bị ra (Output Devices) Sinh viên có thể thuyết trình về định nghĩa thiết bị ra, liệt kê các loại thiết bị vào, chức năng của nó… hoặc có thể lựa chọn giới thiệu chi tiết về một trong các thiết bị ra. 2.3.6. Hệ điều hành (Operating Systems) Sinh viên có thể thuyết trình về hệ điều hành nói chung: khái niệm, phân loại hệ điều hành, giới thiệu một số hệ điều hành phổ biến, lịch sử phát triển hệ điều hành… hoặc lựa chọn giới thiệu chi tiết về một hệ điều hành nào đó. 2.3.7. Một số phần mềm ứng dụng Sinh viên có thể lựa chọn để giới thiệu về một phần mềm ứng dụng nào đó: chức năng, giao diện, cách sử dụng phần mềm ứng dụng đó. 9 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.8. Vấn đề bản quyền Sinh viên có thể lựa chọn để giới thiệu về một phần mềm ứng dụng nào đó: chức năng, giao diện, cách sử dụng phần mềm ứng dụng đó. 2.3.9. Bảo mật thông tin Sinh viên có thể trình bày những suy nghĩ và hiểu biết về vấn đề bản quyền, làm thế nào để thực hiện tốt việc “tôn trọng bản quyền tác giả”? 2.3.10. Virus máy tính Sinh viên có thể trình bày về khái niệm virus, các loại virus cũng như cách phòng tránh virus hiệu quả. Ngoài ra giảng viên có thể gợi ý thêm nhiều chủ đề hoặc cho sinh viên tự đề xuất chủ đề cho phong phú, đa dạng và phù hợp với sự hiểu biết cũng như sự quan tâm của sinh viên tới các vấn đề xã hội khác trong lĩnh vực này. 2.4. Một số mẫu câu sử dụng trong lớp học Khi dạy Tiếng Anh chuyên ngành, giảng viên nên sử dụng tiếng Anh càng nhiều càng tốt. Ngoài những từ vựng, những bài tập như trong giáo trình, một điều rất quan trọng là giảng viên biết cách tổ chức các hoạt động trên lớp, cách chuyển vấn đề, giao tiếp với sinh viên trong phạm vi lớp học. Sau đây chúng tôi xin giới thiệu một số mẫu câu tiếng Anh thông dụng để sử dụng trong lớp học. a. Đầu giờ học - Good morning, everybody. - Hello. How are you today? b. Dùng để ổn định lớp - Are you all ready to start? - Pay attention everybody. - Settle down now so that we can start. - Please stop talking and let’s start. 10 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh - OK. Let’s begin. - It’s time to start. c. Dùng để kết nối với bài cũ - Let’s just go back to what we did in the last lecture. - In the last lecture, we dealt with Topic 3. - We’ll keep working on what we did on Wednesday. - Last week, we finished Topic 4. d. Dùng để thông báo mục tiêu bài dạy - What I’d like to do today is present some new results. - The focus of today’s lecture is Topic 5.1. - The lecture will highlight the most important aspects. e. Dùng để chuyển nội dung bài - Now we are going to turn our attention to Exercise 2. - Now, let’s look at the next one. - Now I’d like to move on the proof of Topic 4.2. f. Dùng để tương tác với học sinh + Kiểm tra học sinh có hiểu bài không? - Is everyone OK with that? - Do you understand this? - Is everyone following the lecture? - Will you let me know if I am going too fast for you? + Khuyến khích học sinh nêu câu hỏi - Please feel free to ask questions. - I’d be happy to answer any questions. - Raise your hand if you have any questions. 11 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh - Don’t be afraid to interrupt me if you have any questions. + Hướng dẫn học sinh hỏi - Does anyone know the answer to this question? - Can anyone give me an answer? - Can anyone answer that question? - Can you work this out? - Do you know what the result is? - Do you have any suggestions? - Can anyone come up with the solution? - What’s the explanation for this? + Hướng dẫn học sinh làm việc - I want you to form groups. - Work together with the person sitting beside you. - Work in pairs. - Form groups of three. - Here are some tasks for you to work in groups of four.. - Each group should appoint a spokesperson. g. Dùng để sử dụng đồ dùng giảng dạy - Please look at the board. - I am going to show you a short video clip on this subject. - Now let’s look at this slide which outlines the objectives. - Right, I’ll show you a slide of a diagram to illustrate this. h. Dùng để kết thúc bài + Kết luận - Let’s summaries the main areas we have covered. 12 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh - Before you go, I’d like to go over the formula again. - So, the key points to bear in mind from today’s lecture are the following…. - I’ll go through the main points again. + Tạm biệt - Thank you for you attention/ cooperation. Now, you may go. - See you again next Wednesday. - I’ll see you again next Wednesday. 3. Giới thiệu kế hoạch dạy học của một bài trong giáo trình (phần này sẽ trình bày chi tiết trong slide bài học). Tài liệu tham khảo 1. Đề cương chi tiết môn học Tiếng anh Chuyên ngành 1 và 2 – Khoa Công nghệ thông tin – Đại học Sư phạm Hà Nội 2. Giáo trình: “English for Computing” – Thạc Bình Cường 3. Training Material: “Teaching Science Subjects in English for Secondary Schools” – Ministry of Education and Training, January 2015. 13 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 2: KINH NGHIỆM XÂY DỰNG CHƯƠNG TRÌNH VÀ BÀI GIẢNG MÔN “LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI C++” A. Mục tiêu Tài liệu này cung cấp quy trình xây dựng đề cương chi tiết môn “Lập trình hướng đối tượng với C++” cho chương trình đào tạo cử nhân Sư phạm Tin học dạy bằng tiếng Anh. Đây là một trong những môn học cung cấp kiến thức và kỹ năng lập trình hướng đối tượng cho sinh viên. Để có được chương trình chi tiết cho môn học, chúng tôi đưa ra quy trình xây dựng và nội dung chi tiết như trình bày trong mục B và C. B. Quy trình xây dựng 1. Phân tích yêu cầu 2. Phân tích đặc trưng môn học 3. Xác định điều kiện tiên quyết 4. 5. 6. 7. 8. Xác định mục tiêu môn học Thu thập tài liệu Xây dựng đề cương Thẩm định đề cương 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 14 + Class: 35 hours + Assignment: 5 hours + Discussions 0 hours Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh + Experiment: - Self- study: 5 hours 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 programming. basic concepts and principles of structured - 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. 15 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. 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 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. AddisonWesley, 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 17 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++ 18 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 19 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 20 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 21 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') 22 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 23 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 1 Chapter 1 2 2 2 Chapter 2 5 3 3 Chapter 3 5 3 4 Chapter 4 3 3 5 Chapter 5 3 3 6 Chapter 6 3 3 7 Chapter 7 6 3 8 Chapter 8 6 3 9 Chapter 9 3 3 10 Chapter 10 3 3 11 Chapter 11 3 3 24 Assignment Experiment 2 2 3 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh 3 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. 25 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. 26 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 27 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. 28 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 29 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. 30 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 31 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. 32 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. 33 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 34 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 - 35 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 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 36 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. 37 B. 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 38 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. 39 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. ON 40 TWO 8 or less about 15 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh everyone b) One participant answering the trainer’s question. ON TWO 8 or less about 15 everyone about 15 everyone about 15 everyone about 15 everyone c) Participants doing pair work ON TWO 8 or less d) One person reading aloud from a book. ON TWO 8 or less e) The trainer lecturing to participants. ON TWO 8 or less 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. 41 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? O = participant Circle: Line: O OOOOOOO O O O O O Advantages: Advantages: Disadvantages: Disadvantages: 42 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 1O Table 2O 3O Table 7O 9O Table 13O 4O 14O 15O 10O 21O 11O 12 O Table 16O Table 20O 5O 6O Table Table Table 19O Table Table 8O O = participant 17 O 18 O Table 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? 43 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 44 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 45 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: 46 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) 47 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: 48 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. 49 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: 50 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: 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. Computer 2. Hardware. 3. output devices 4. CPU. 5. main memory 6. Storage devices. 7. Input devices 8. Output devices 52 Tài liệu tập huấn giảng viên dạy chuyên ngành bằng tiếng Anh