CMPE 111, Introduction to Computer Science and Engineering

Istanbul University, Faculty of Computer and Information Technologies

Course Name: Introduction to Computer Science and Engineering Fall 2023

Course Code: CMPE 111

Language of Course: English

Credit: 3

Course Coordinator / Instructor: Şadi Evren ŞEKER

Contact: intrcs@sadievrenseker.com

Schedule: Tue, 10.40 – 12.00

Reference Material:

1. Schaum’s Outline of Introduction to Computer Science, Pauline Cushman, Ramon Mata-Toledo
2. Computer Science: An Overview, J. Glenn Brookshear, Addison-Wesley, 2009
3. Invitation to Computer Science, by G. Schneider and J. Gersting, West

Course Description:  This course is an introduction level course to computer science and engineering with basic concepts, terminology and orientation to the discipline.

  • The course starts with a top down approach to computer science concepts. The first step is covering the definitions of what is computer?, what is science? what is engineering? how the computer science and engineering is different from each other and from other disciplines such as, statistics, mathematics, physics and other engineerings.
  • Introduction to the binary logic, and representing the real life in the world of symbols. What is data, what is symbolism and how can a single number represent the whole life?
  • Course explains simple terminology of a research area under computer science each week. Starting from bits and bolts to hardwares, interaction between hardware and applications and role of operating system, networking and software development roles.

Course Objective and Learning Outcomes: 

  1. Understanding of real life problems and possible solutions in computer science
  2. Understanding of real life programming and software development related problems.
  3. Understanding the concepts of information technologies
  4. Understanding the study areas under the computer science and information technologies.
  5. Understanding the Software development processes and its relations to hardware and project management techniques.
  6. Understanding the business game and marketing or business development process of software and IT products
  7. Understanding the Knowledge economy and knowledge workers.

Tools: During the class, a pen and a paper is enough for most of the cases. Students are highly encouraged to write new wikipedia articles or create their own web pages.

Grading One individual term project (30%) one final exam (30%), Homework submitted each week : 40% in total.

Homework Policy:

  • Probably 10 for the whole semester (perhaps 1 or 2 bonus homework) and each homework with 4%.
  • Duration of homework submission is 2 weeks until the midnight of due date.
  • You MAY NOT use generative AI software (such as ChatGPT or Google Bard).
  • All submissions will be done through turn-it in software.

Project Requirements : Projects will be announced on week 5. Students can ask for a project topic before the 5th week and start early.

Example project topic: One web page covering some details about yourself and your work.

Project proposal : until 5th week of the semester. Write a proposal report about the web content you plan to create. Also add the programming points or the plug-ins you plan to use.

Project Deliverables: You are asked to submit the below items via mail until the last day of the classes:

  1. Presentation and Demo video: please shoot a video for your presentation and demo of your project.
  2. Project Presentation: slides you are using during the presentation
  3. Project Report : a detailed explanation of your approaches, the difficulties you have faced during the project implementation, also add the contributions of project to you and your future works.
  4. Running Code or Project: you are free to implement your solution in any platform / language. The only requirement about your implementation is, you have to code the two alternative solution on the same platform / programming language (otherwise it will not be fair to compare them). Please also provide an installation manual for your platform and running your code.
  5. Interview: A personal interview will be held after the submissions. Each of you will be asked to provide a time slot of at least 30 minutes for your projects. During this time, you will be asked to connect via an online platform and show your running demo and answer the questions. Please also attach your available time slots to your submissions.

 

Course Content:

Week 1 : Introduction to Computer Science and Engineering. 

Questions of the week :

  • What is Science?
  • What is Engineering?
  • What is Mathematics? How the mathematics, algebra and calculus are different from each other?
  • What is the difference between computer science and engineering?

Informal Homeworks :

  • Watch the movie “imitation game” (IMDB link)
  • Write any article on wikipedia
Week 2 : Introduction to Web Programming, HTML, CSS and JavaScripts

This is just a one-week quick course about the web programming, concepts like DNS, Hosting, Server and Clients, protocols (like https), and HTML.

Course Content:  SignalsFiber optics  History of InternetLANIP Communications Protocols:  TCPDNS WWW Intro; HTTPURL, HTMLintroduction, HTML: tablesrelative URL, etc.

Slides: [PPT][PPT1] , [PPT2] , [PPT] , [PPT] , [PPT] , [PPT]

For Turkish Content, you can watch the movie list on YouTube.

Questions of the week:

  • How does internet work?
  • What are the servers needed for a web page?
  • How can I publish my web page?
  • What is the cost or technical requirements for hosting a web page?

Homework 1: Prepare a web page about yourself. Also add information about yourself and some other entities to Wikidata  Submit the link and archived version from the way back machine to course e-mail address.

Week 3 (Continue from week 2): Introduction to HTML with simple codes and pages. Codes written in class:

second_try

 

Useful Resources :

https://www.w3school.com 

 


 

Week 4 : Introduction to Information Technologies :

Some Useful Resources:

 

Questions of the Week:

  • What is the Information Technology?
  • What are the study areas under IT and their relation to Computer Science and Engineering
  • What are the jobs under IT Industry?
  • What are the scales of Projects and Companies in the IT industry?

Homework 2: Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 5 Binary Representation and Symbols of Computers

Questions of the Week:

  • How can you represent the whole life in just two symbols (1s and os)
  • What are the operations defined on binary representations
  • What is Boolean logic and its use on our daily life?
  • What is a computer program?
  • What is source code and how to develop a program?
  • What is machine language? What is programming language? What is a natural language?

Homework 3 : Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 6 Concept of Hardwares

Questions of the Week:

  • What are the basic components of a computer and how can you draw a von-neumann machine?
  • Name some of the I/O devices of computers
  • What is a quantum computer?
  • Can you build a computer if you have a time travel back to 10.000 BC?
  • What are mainframes, super computers or mini computers?

Some Useful Links from the course:

  • https://en.wikipedia.org/wiki/George_Boole
  • https://en.wikipedia.org/wiki/Boolean_algebra
  • https://en.wikipedia.org/wiki/Von_Neumann_architecture
  • nanometer scale transistors
  • https://en.wikipedia.org/wiki/Gordon_Moore
  • https://en.wikipedia.org/wiki/Moore%27s_law#
  • https://en.wikipedia.org/wiki/Ada_Lovelace
  • https://www.w3schools.com/
  • https://www.hackerrank.com/
  • https://www.w3schools.com/git
  • https://en.wikipedia.org/wiki/GitHub
  • https://gitlab.com/

Homework 4 : Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Deadline for project proposal submission.

Week 7 Concept of Operating Systems

Questions of the Week:

  • Who is computer operator? How we lost thousands of computer operators? What happened to computer operators?
  • What are the basic operating systems?
  • What are the design difference between Linux and Windows?
  • Which operating system is the best? How to compare operating systems?
  • What is open-source and why it is important?
  • What happens when a user switch on a computer, a step-by-step story of boosting a computer.

Homework 5: Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 8 Computer Applications

Questions of the Week:

  • What is a program, software and application?
  • What are mobile applications?
  • What is a framework? What is the difference between a framework and operating system?
  • What are the minimum requirements of a computer application?
  • What is back-end, what is front-end in development?

Homework 6: Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 9 Networking and Protocols

Questions of the week:

  • What is server/client communication type?
  • What is peer-to-peer network?
  • What is a network protocol? The basic differences between TCP/IP and other networks

Homework 7: Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 10 Concept of Databases

Questions of the week:

  • What is data? What is information? and how do they differ?
  • How to store a data in a computer?
  • What are the types of Database Management Systems.
  • What is relational database?
  • What are the caches?
  • What is the big data? 5Vs of big data and concepts of partition tolerance, consistency and availability.
  • What is map-reduce?

Homework 8: Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 11 Concept of Programming and Software Development

Questions of the week:

  • What is a program?
  • What is source-code, compiler, executable program?
  • How a computer executes a program?
  • What are the key issues when developing a software?
  • What is algorithm? How can I think in algorithmic way?
  • What is the best algorithm for any software problem?

Homework 9: Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 12 Concepts of Software Engineering:

Questions of the week:

  • How to start a software project?
  • What are the best steps for a project development?
  • What are the project management approaches in software development?
  • How do you understand the quality of a software product?
  • How do you calculate the cost or time required to develop a software?

Homework 10: Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 13 Concepts of Software Marketing and Business Development :

Questions of the Week:

  • What is knowledge economy and how is it different from the land, production or service economies?
  • Who are the knowledge workers? How do the live?
  • What are the types of software marketing
  • Define the COTS or Open-Source marketing patterns.
  • What is SaaS marketing?

Homework 11: Prepare a wikipedia entry for any topics covered in this week first time in wikipedia.

Week 14 Concepts of Start-ups and Changes on Business

Questions of the Week:

  • What is a start-up
  • When and how to found a start-up?
  • How can I be rich very fast by start-ups?
  • What is the best start-up idea ever?
  • How can I get investment into my start-up idea?
Week 15: Extra weeks will be added if needed. (Possible Extra class about : Artificial Intelligence)
Week 16: Extra weeks will be added if needed. (Possible Extra class about : Human Computer Interaction)