Shanti Kolluri: Comupter Science

Shanti Kolluri: Giáo viên Toán và Khoa học Máy tính
Education: Birla Institute of Technology and Science, BS, Texas A&M, MS, Stanford University, MA
Interests outside the classroom
: Dancing! Salsa, Hiphop, Belly Dancing, and Bollywood
 
Khoa học Máy tính phù hợp với chương trình giảng dạy toán College Prep như thế nào?
Khoa học máy tính là một năm dài tự chọn mở cửa cho học sinh lớp 12 và người cao niên. Tôi đã giảng dạy nó trong ba năm và có một điều kiện tiên quyết của Toán 3. Học sinh sử dụng các ý tưởng trừu tượng được tăng cường trong các khóa học toán học của họ để làm cho khái quát trong quá trình giải quyết vấn đề. Chúng tôi cũng sử dụng toán học để so sánh các thuật toán khác nhau được sử dụng để giải quyết cùng một vấn đề. Nó giúp chúng tôi đưa ra các lựa chọn sáng suốt như giải pháp nào hiệu quả nhất về thời gian, mức tiêu thụ bộ nhớ, v.v.
 
Khoa học Máy tính được cấu trúc như thế nào?
Java là ngôn ngữ lập trình chính được giảng dạy trong khóa học này. Khóa học đã phát triển như tôi đã tìm hiểu về sở thích của sinh viên của tôi và công nghệ có sẵn. Mùa thu năm ngoái, lớp học bắt đầu với việc giúp đỡ một nhân vật được gọi là Rudy thu thập tất cả các dấu chấm màu xanh lá cây trên lưới điện, trong khi điều hướng mê cung với mức độ khó tăng dần. Sau đó, chúng tôi đã nghỉ ngơi từ lập trình và học được một số điều cơ bản của thiết bị điện tử, sự hiểu biết làm thế nào breadboards, đèn LED, potentiometers, buzzers, và cảm biến khoảng cách siêu âm làm việc. Chúng tôi wove những khái niệm này vào bối cảnh lập trình bằng cách sử dụng máy tính nhỏ được gọi là Arduinos (arduino.cc/en/guide/introduction). Các sinh viên sau đó đã học được một số chế biến, một ngôn ngữ lập trình, trong đó họ khám phá đồ họa và hiệu ứng hình ảnh. Ngoài các bài đánh giá thông thường, sinh viên cũng có thể chứng minh những gì họ đã học được trong khóa học bằng cách làm việc trên một dự án kéo dài hai tháng trong học kỳ thứ hai.
 
Sinh viên có nghĩ ra các dự án đặc biệt không?
Có, các sinh viên đưa ra các đề xuất của riêng họ cho các dự án cuối cùng của họ, trong khi tuân thủ một số hướng dẫn. Tôi đang học hỏi nhiều từ các sinh viên như họ là từ tôi. Ví dụ, hai sinh viên năm nay đã giới thiệu tôi với một phần điện tử đã được đặt hàng tất cả các cách từ Úc: một OBD (On Board Diagnostics) giả lập. Hầu hết các xe hiện đại đều có cổng OBD cho phép chúng tôi lắng nghe và thu thập dữ liệu về những thứ như khí thải, tốc độ và số dặm. Những sinh viên này hy vọng sẽ sử dụng thông tin về tốc độ và vị trí GPS của xe để đưa ra các khuyến nghị hữu ích cho người lái xe. Họ sẽ giao tiếp giả lập OBD với một Arduino, và sẽ viết mã để thực hiện các khuyến nghị này.
 
Học một ngôn ngữ máy tính tương tự hoặc khác với việc học một ngôn ngữ nói?
Hầu hết các ngôn ngữ lập trình có một số điểm chung trong số đó mà làm cho việc học ngôn ngữ lập trình tiếp theo dễ dàng hơn so với bắt đầu từ đầu. Tương tự như vậy, tất cả các ngôn ngữ lãng mạn có đủ cơ sở tương tự mà nhảy từ này sang ngôn ngữ khác không quá phức tạp. Học tiếng Ý sau khi học tiếng Tây Ban Nha, cả hai đều có cùng ngôn ngữ gốc, dễ dàng hơn học tiếng Thổ Nhĩ Kỳ sau khi học tiếng Tây Ban Nha. Học một ngôn ngữ lập trình tương tự như học một ngôn ngữ mới trong đó để trở nên thành thạo, học sinh cần phải thử "nói" hoặc lập trình những điều mới và cảm thấy thoải mái với việc thực hiện rất nhiều sai lầm trong quá trình này. Ban đầu ngữ pháp hoặc cú pháp sẽ không gần với ngữ pháp của người bản ngữ, nhưng người ta trở nên tốt hơn với thực hành. Sinh viên chuẩn bị mang lại cách tiếp cận đó cho khoa học máy tính - họ sẵn sàng thử những điều mới, phạm sai lầm, học hỏi từ họ và trở nên thông thạo ngôn ngữ theo thời gian.
 
Có phải hầu hết các học sinh tham gia lớp học học sinh toán mạnh mẽ?
Lớp học có một sự pha trộn thú vị của sinh viên. Đó là một khóa học trong đó có một cái gì đó cho tất cả mọi người. Những người đam mê ngôn ngữ tiếp cận nó như thể họ đang học một ngôn ngữ mới như tiếng Pháp hoặc tiếng Nhật và điều đó kích thích họ. Những người đam mê toán học và học sinh thích suy nghĩ trong trừu tượng thích nhìn vào các thuật toán không nhất thiết phải về mặt mã, nhưng về mặt kỹ thuật mà họ có thể so sánh một cách khách quan bằng cách sử dụng toán học. Một số sinh viên quan tâm đến việc hiểu các sự kiện hiện tại trong công nghệ. Gần đây, một chương trình của Google đã đánh bại một trong những người chơi "Go" hàng đầu thế giới, điều này không được tin là có thể. Trí tuệ nhân tạo đang phát triển — chương trình của Google đã đánh bại ứng cử viên của con người bằng cách học thông qua chơi; nó áp dụng kinh nghiệm để giành chiến thắng. (wired.com/2016/03/googles-ai-wins-fifth-final-game-go-genius-lee-sedol/). Ngược lại với Garry Kasparov chơi cờ vua với máy tính Deep Blue vào năm 1996. Vào thời điểm đó, máy tính đã kiểm tra tất cả các khả năng trong trò chơi tại bất kỳ thời điểm nào trong thời gian. Học sinh rất hào hứng để tìm hiểu về cách khoa học máy tính đã phát triển. Một số sinh viên yêu thích thiết bị điện tử và những người khác thích xây dựng mọi thứ từ đầu. Vẫn còn những người khác mang lại kinh nghiệm của họ với máy in 3D và máy cắt laser và tích hợp chúng vào ý tưởng của họ cho các dự án cuối cùng của họ.
 
Tại sao cả phần cứng và phần mềm đều được khám phá trong Khoa học Máy tính?
Ý tưởng học một ngôn ngữ lập trình bằng cách học cú pháp của ngôn ngữ và cố gắng giải quyết một số vấn đề phổ biến (ví dụ: kiểm tra xem một số là số nguyên tố hay không hoặc nếu một từ là một palindrome) có ý nghĩa. Tuy nhiên điều này không cộng hưởng với tất cả mọi người. Có một mục tiêu như "Tôi có thể làm cho những đèn LED sáng lên trong mô hình này?" hoặc "Tôi có thể làm cho cánh cửa này mở ra, khi mô hình bí mật này được khai thác trên cửa?" làm cho nó cụ thể hơn cho một số lượng lớn sinh viên. Những suy nghĩ sau đó thay đổi từ làm thế nào để một "nếu" tuyên bố làm việc trong Java hoặc làm thế nào để viết một vòng lặp "" trong Java, để những gì tôi cần phải tìm hiểu để viết mã cho phép các phần cứng hoặc phần mềm cư xử một cách nhất định. Nó mang lại một mục tiêu trực quan hoặc hữu hình hơn cho những gì đôi khi có thể đi qua như là một quá trình trừu tượng.

Tích hợp cả phần cứng và phần mềm cũng sẽ trả về một lớp phức tạp khác đại diện cho những gì xảy ra trong thế giới thực. Nếu một cái gì đó không hoạt động, nó là phần cứng hoặc phần mềm? Làm thế nào để chúng tôi giải quyết vấn đề? Làm thế nào để chúng ta cô lập nguồn gốc của vấn đề? Thông thường, không có câu trả lời đúng và có nhiều hơn một cách để xây dựng một cái gì đó hoặc làm cho một cái gì đó làm việc. Nó mang lại sự sáng tạo trong học sinh của tôi, một trong những khía cạnh yêu thích của tôi giảng dạy lớp này.

Trường Dự bị Đại học

mens conscia recti (đàn ông conscia recti)

một tâm trí nhận thức được những gì là đúng