 ChatGPT is a powerful large language model developed by OpenAI which can offer exciting opportunities for students and educators. It provides personalized feedback, increased accessibility, interactive conversations, lesson preparation, evaluation, and new ways to teach complex concepts. However, it also presents some challenges to the traditional education and research system, such as the possibility of cheating on online exams, human-like text generation, diminished critical thinking skills, and difficulties in evaluating information generated by ChatGPT. This paper examines these potential opportunities and threats from the perspectives of both students and educators. For programming learning, we explore how ChatGPT can help students improve their programming skills through code generation from problem descriptions, pseudocode generation of algorithms from texts, and code correction. We validate the generated codes with an online judge system to evaluate their accuracy. Additionally, we conduct surveys with students and teachers to understand how ChatGPT supports programming learning and teaching. Finally, we present the survey results and analysis. This article was authored by M.D. Mostafizer-Roman and Yutaka Watnob. We are article.tv, links in the description below.