Intelligent technology is increasingly being woven into the fabric of everyday life. It is becoming more and more a seemingly necessary and somewhat trusted component of society for both personal and non-personal day-to-day interactions. Developing such intelligent systems requires technical expertise, such as an in-depth knowledge of natural language processing or machine learning. However, in addition to technical expertise, a deep awareness and understanding of ethics and societal impact are also essential. Mastering knowledge of ethics and societal impact falls on the shoulders of computer professionals and programmers, whose role is to design and implement the decision-making component of intelligent systems. The development of intelligent systems with embedded ethical and social awareness is of paramount importance as a lack of such awareness has biased or unethical consequences. Such consequences were recently demonstrated when an algorithmic decision-making system at Amazon.com disqualified female job candidates. Preparing computer students to meet the demand of intelligent technology implementation, requires incorporating the topics of ethics and societal impact into computer curriculum. These topics should be introduced and reinforced throughout the computer curriculum, beginning at the introductory courses, and continuing to the advanced courses. This method ensures that computer students acquire the necessary technical and ethical skills needed. The combination of these skills ensures effective design, implementation and deployment of intelligent systems that are both technologically advanced and ethically mindful. In this paper, a close examination of the importance of infusing technology related ethical concepts throughout the computer curriculum is reviewed through a thorough examination of the literature. Issues related to computer technology education and ethics are examined, best practices for the incorporation of topics related to ethics and societal impact in computer programs at higher education institutions are discussed, strengths and weaknesses of these practices are analyzed and a proposed framework for the implementation of ethical topics in an undergraduate computer curriculum at a large, public university, is outlined and discussed.