CS 105 Computer Science as a Profession
Total Credits: 2 cr
Course Coordinator: Robert Heckendorn
URL:
http://marvin.cs.uidaho.edu/~heckendo/CS105/
Current Catalog Description: Introduction to the computer science
profession and curriculum; fields of study available; current topics in departmental
research; curriculum planning; legal, ethical, and social issues in computing;
academic ethics and responsibilities.
Textbook:None.
References: Additional course references are available on the course
web site.
Course Goals: After completing this course a student should:
- Understand expectations for academic integrity.
- Aware of personal, academic, and professional advising resources and
tools available through the University.
- Understand requirements for graduation and have developed a tentative
plan for completing his / her degree.
- Understand what a person who practices computer science does.
- Have general familiarity with common terminology in the computer science
profession.
- Have general familiarity with a number of specialty areas in computer
science.
- Have an awareness of current research areas in which departmental faculty
are participating.
- Understand the professional responsibilities of a computer scientist
or software engineer.
- Understand some important aspects of the impact of computing on individuals,
organizations, and society.
- Understand basic concepts of intellectual property as they apply to
computers, software, and computer science.
Prerequisites by Topic: None.
Major Topics Covered in the Course:
- Departmental expectations for academic integrity with specific emphasis
on cheating and plagiarism
- The advising process and resources
- BSCS degree requirements and the University's general education requirements
- The work and career paths for computer scientists and software engineers:
- Software development or software testing in a large corporate environment
- Software development in a small company environment
- Working as an independent consultant or developer
- System administration, networking support, application support,
web site support
- Legal, ethical & social issues:
- Consequences of dependence on pervasive software; well known software
failures
- The Internet − issues and responsibilities
- E-mail − freedom of speech, privacy
- Web sites
- Chat rooms and other innovative technologies
- Use of University computer systems and facilities
- Intellectual property rights and responsibilities
- Software licenses, open source software
- IEEE and ACM code of professional ethics and responsibility
- Overview of focus areas:
- Hardware and software architecture
- Theoretical computer science
- Computer security
- Fault tolerant systems
- Bio-informatics
- Artificial intelligence and evolutionary computation
- Games and artificial environments
- Software engineering
Laboratory projects (specify number of weeks on each): None.
Estimated Curriculum Category Content:
| Area |
Core |
Advanced |
Area |
Core |
Advanced |
| Algorithms |
|
|
Data Structures |
|
|
| Software Design |
|
|
Prog. Languages |
|
|
| Computer Arch |
|
|
Other |
2 cr. |
|
Oral and Written Communications: Each student is expected to submit
several one page summaries documenting important information provided by
guest speakers and prepare a term paper of 3 to 5 pages in length on a topic
of personal interest in the field of computer science.
Social and Ethical Issues: Approximately one third of the course is
devoted to the study of social and ethical issues related to computers systems
and computer software. Topics will range from the WWW and free speech to the
professional responsibilities of a software developer. Some case studies will
be used.
Theoretical Content: None.
Problem Analysis: None.
Solution Design: None.
Course Outcomes: The following list documents the course outcomes
and crossreferences them to the BSCS program
outcomes. The letter at the beginning of each reference identifies the program
outcome supported. The numbers sequentially identify the course outcome for
this course. After completing CS 105 a student should be able to:
- Understand expectations for academic integrity. Can identify academic
situations and activities that are acceptable and unacceptable. (e-1)
- Understand basic concepts of intellectual property as they apply to
computer science. Knows basic principles of copyright and patent protection
and how they apply to students. (e-2)
- Understand what a person does who practices computer science or software
engineering. (e-3)
- Understand the professional responsibilities of a computer scientist
or software engineer. (e-4)
- Demonstrate how the ethical guidelines documented in the ACM / IEEE
Software Engineering Code of Ethics and Professional Practice apply to a
software developer and a software development project. (e-5)
- Write short essays that include expression of factual information and
personal opinions. (f-1)
- Properly cite information obtained from reference sources. (f-2)
- Express one's personal views and contribute to class discussions. (f-3)
- Analyze the impact of computing on individuals, organizations, and society.
(g-1)
- Understand requirements for graduation and their role in achieving educational
success. (h-1)
- Recognize that an undergraduate education is only the beginning, with
a major emphasis on teaching the student how to learn and stay abreast of
developments in Computer Science. There will be a need for continued professional
development as long as one remains active in the profession. (h-2)
- Be able to provide a high level description of several specialty areas
in computer science. (k-1)
- Understand the relevance of courses covering advanced topics to the
career options available and the educational requirements for specific career
paths. (k-2)