Monday, February 23, 2026

FOUNDATIONS OF COMPUTER PROGRAMMING -Jason Lane

FOUNDATIONS OF COMPUTER PROGRAMMINGC SF049.01W413264.5 (Primary)
Fully Online asynchronous
None
 - 
Type: Lecture Building: Foothill Online Room: ONLINE Start Date: 04/20/2026 End Date: 06/26/2026
None
 - 
Type: Lab Building: Foothill Online Room: ONLINE Start Date: 04/20/2026 End Date: 06/26/2026
107 of 110 seats remain.
10 of 10 waitlist s

 

OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON F003A

 Enjoyable class! Professor is very helpful, structures everything well, and provides clear and detailed project specs. 

Each week cumulatively builds on the last in a project spanning the entire quarter. 

Encourages students to help each other (but not collaborate) in the forums.

Perhaps the most available professor I have ever had. Seems to pay attention and comment on all online discussions. Knows all the students and encourages students to come to office hours. The subject was really difficult for me but grading is relatively easy because of the extra credit points. Very nice person and I would recommend him.
Little work, spent at most an hour a week on this class. One weekly assignment, no tests or final.
He has many office hours if you struggle, gives very clear assignments and grading criteria. His lectures are amazing (short, informative). He expects you not to use AI and will report, if you do so.

Best professor I had at Foothill so far. Class wasn't the easiest but I learned so many valuable things in the class which were all worth it. If you care about CS, this is good for you. Professor cares about his students and his video lectures explain topics well. He also has a lot of office hours outside of class
Took both data sci and python classes. Good teacher! For python, make sure output is same as sample run, follows all specifications, and passes all auto graders to get full marks. Data Sci was often more nebulous in the grading. Labs are easy, homework is trickier.
Participation matters (~12% of grade), post like crazy in discussion forums.
He was a great professor for the online course. He created his own materials, was very open and communicative with his students, and provided thoughtful feedback. I'm actually quite disappointed that I took his class first at Foothill, as I assumed other instructors would offer the same quality of online courses.
I'm a student at a UC taking computer science courses at Foothill. Professor Reed provides really nice feedback and I really felt that CS3A was easy to learn because of his great teaching; I really appreciated how he broke down the class. I'm currently taking his CS3B class as well. For both, make sure you stay on top of things!
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHONC SF003A03W403654.5 (Primary)
Fully Online asynchronous

Professor jason Lane

 Lane Johnson

FOUNDATIONS OF COMPUTER PROGRAMMINGC SF049.01W413264.5 (Primary)
Fully Online asynchronous
None
 - 
Type: Lecture Building: Foothill Online Room: ONLINE Start Date: 04/20/2026 End Date: 06/26/2026
None
 - 
Type: Lab Building: Foothill Online Room: ONLINE Start Date: 04/20/2026 End Date: 06/26/2026
107 of 110 seats remain.
10 of 10 waitlist s

Computer Science

Foothill College

Rate

Compare

5

/ 5

Overall Quality Based on 7 ratings

Lane Johnson

Professor in the Computer Science department at Foothill College

100%

Would take again

2.7

Level of Difficulty


Rate

Arrow Icon

Compare

I'm Professor Johnson

Professor Johnson's Top Tags

Amazing lectures

Participation matters

EXTRA CREDIT

Caring

Clear grading criteria

Rating Distribution

Awesome 5


7

Great 4


0

Good 3


0

OK 2


0

Awful 1


0

Similar Professors

5.00

Mohammed Akhoirshida

4.80

David Harden

4.80

Maneesh Dhagat

Cheddar News Live Feed


/

7 Student Ratings

All courses

Quality

5.0

Difficulty

3.0

CS2C

Feb 2nd, 2026

For Credit: Yes

Attendance: Not Mandatory

Would Take Again: Yes

Grade: A+

Textbook: Yes

Great Professor. Great lecture videos as well. The whole class is centered around projects. The deadlines are pretty tight so plan on allocating your time properly. I like how git is integrated to the class and the homeworks are centered around repos with autograding features, giving you an opportunity to see test cases and fix the bugs u dont see.

Graded by few things

Helpful

Thumbs up

0

Thumbs down

0


Quality

5.0

Difficulty

3.0

CS2A

Jan 5th, 2025

For Credit: Yes

Attendance: Not Mandatory

Would Take Again: Yes

Grade: A

Textbook: N/A

Professor Johnson is a really good, kind, and motivated professor. It's obvious he actually enjoys coding and teaching through his lectures. The class is project based w/ 1 project per week and 3 quizzes total in the entire quarter including the final. Attendance isn't mandatory but you probably won't get an A if you aren't showing up consistently.

Participation matters

EXTRA CREDIT

Clear grading criteria

Helpful

Thumbs up

0

Thumbs down

0


Quality

5.0

Difficulty

3.0

CS2A

Jun 11th, 2024

For Credit: Yes

Attendance: Not Mandatory

Would Take Again: Yes

Grade: A

Textbook: N/A

This class is slightly difficult if you have 0 coding experience like I did, but it's manageable. Definitely don't wait till the last day to do the assignment unless you're a pro. There is no textbook required for this course but I would definitely recommend using one, as the assigned readings are less cohesive.

Helpful

Thumbs up

1

Thumbs down

0


Quality

5.0

Difficulty

4.0

CS49

May 13th, 2024

For Credit: Yes

Attendance: Mandatory

Would Take Again: Yes

Grade: A+

Textbook: Yes

Professor Lane Johnson is the best! He's passionate about teaching Python, provides detailed feedback, and truly cares about our learning. His well-designed tasks and focus on innovation make every lesson valuable. If you want to learn, choose him without hesitation!

Helpful

Thumbs up

1

Thumbs down

0


Quality

5.0

Difficulty

2.0

CS49

Apr 19th, 2024

For Credit: Yes

Attendance: Mandatory

Would Take Again: Yes

Grade: A+

Textbook: N/A

Professor Lane always gives valuable feedback! He really cares about his students; there are no high-risk quizzes or exams in this course. Participate in class and finish assignments (which are well-designed and described very clearly) correctly, then you will get an A+. I definitely recommend this course! I will take his CS2A next quarter :D

Participation matters

Amazing lectures

Gives good feedback

Helpful

Thumbs up

0

Thumbs down

0


Load More Ratings


Tuesday, February 17, 2026

INTRODUCTION TO MACHINE LEARNING

 Associated Term:2026 Spring Foothill

CRN:41254

Campus:Foothill, Main Campus

Schedule Type: Lecture and/or Discussion

Instructional Method: Fully Online asynchronous

Section Number: 01W

Subject: Computer Science (C S)

Course Number: F012A

Title: INTRODUCTION TO MACHINE LEARNING

Credit Hours: 4.5

Grade Mode: No Section specified grade mode, please see Catalog link below for more information.

A survey of artificial intelligence (AI)

 A survey of artificial intelligence (AI) and its application. Includes search algorithms, evolutionary algorithms, and machine learning. Explores issues of ethics and equity. Students will use Python and publicly available packages to develop and test AI models. Students will gain practical experience coding models, with less emphasis on math and theory. *** Prerequisite: C S 3A. *** Advisory: STAT C1000.

📚 For Programming / Data Structures / Algorithms

 📚 For Programming / Data Structures / Algorithms


If your goal is:


🏆 Competitive programming / FAANG interviews


👉 C++ is powerful and fast.


💰 Side business / automation / quick money


👉 Python is better.


🏢 Corporate software job


👉 Java is strong.


Honest Advice for You


Since you:


Are already doing PhD research


Want a side business


Are busy with many responsibilities


👉 C++ is probably too heavy unless you specifically want deep computer science.


Python will give:


Faster results


Less stress


More immediate income potential


If you want, I can also compare:


C++ vs Python for algorithms


Or show how hard pointers really are (simple example) 😄


C++ vs Python for algorithms

C++ vs Python for algorithms (the real difference)

1) Speed (runtime)


C++ is faster (compiled, low-level control).


Python is slower (interpreted), but often “fast enough” for most class + interview problems.


Rule of thumb


If time limits are strict (competitive programming) → C++ wins


If you want to solve problems quickly and clearly → Python wins


2) Ease of writing algorithms


Python is easier: less code, cleaner syntax, faster to implement.


C++ is more verbose: more setup, more typing, more chances for small bugs.


Example: reading input + building list/array is simpler in Python.


3) Data structures availability


Both have what you need, but Python feels “ready to go.”


Python


list, dict, set, heapq (priority queue), deque


Very good for BFS/DFS, hashing, two pointers, sliding window


C++


vector, unordered_map, unordered_set, priority_queue, deque


Very fast and flexible, but you must be careful with types


4) Common algorithm topics: which is better?

Topic Better choice Why

Sorting, searching Tie both easy

Hashing / frequency Python ✅ dict is super simple

BFS/DFS graphs Python ✅ less boilerplate

Dynamic programming Python ✅ fastest to write

Very large input / tight time limits C++ ✅ speed + I/O

Competitive programming C++ ✅ performance

Interview coding Python ✅ clarity + speed of coding

5) Typical mistake patterns


Python mistakes


Timeouts on huge inputs


Recursion limit (DFS deep)


C++ mistakes


Segmentation fault / memory issues


Wrong types (int overflow)


More complicated debugging


Best practical advice


If your goal is learning algorithms + interview practice → Python


If your goal is competitive programming / speed-critical problems → C++


If you tell me where you’re using algorithms (class? LeetCode? competitions?), I’ll recommend the best language + a study path.

C S F003C - 4.5 Units - ADV DATA STRUCT/ALGRTHM PYTHON

 C S F003C - 4.5 Units - ADV DATA STRUCT/ALGRTHM PYTHON

A systematic treatment of advanced data structures, algorithm analysis and abstract data types in the Python programming language, intended for computer science majors as well as non-majors and professionals seeking advanced Python experience. Coding topics include large program software engineering design, multi-dimensional arrays, string processing, primitives, compound types, and allocation of instance and static data. Data structure concept topics include dynamic memory, inheritance, polymorphism, hierarchies, recursion, linked-lists, stacks, queues, trees, hash tables and graphs. Algorithm concept topics include searching, big-O time complexity, analysis of all major sorting techniques, top down splaying, AVL tree balancing, shortest path algorithms, minimum spanning trees and maximum flow graphs.

C S F003B - 4.5 Units - INTERMED SOFTWARE DESGN PYTHON

 

C S F003B - 4.5 Units - INTERMED SOFTWARE DESGN PYTHON

Systematic treatment of intermediate concepts in computer science through the study of Python object-oriented programming (OOP). Coding topics include Python sequences, user-defined classes and interfaces, modules, packages, collection classes, threads, lambda expressions, list comprehensions, regular expressions and multi-dimensional arrays. Concept topics include OOP project design, recursion, inheritance, polymorphism, functional programming, linked-lists, FIFOs, LIFOs, event-driven parsing, exceptions and guarded code.

C S F003A - 4.5 Units - OBJECT ORIEN PRGM METH PYTHON

 

C S F003A - 4.5 Units - OBJECT ORIEN PRGM METH PYTHON

Systematic introduction to fundamental concepts of computer science through the study of the Python programming language. Coding topics include control structures, functions, classes, string processing, lists, tuples, dictionaries, working with files, and elementary graphics. Concept topics include algorithms, recursion, data abstraction, problem solving strategies, code style, documentation, debugging techniques and testing.

C S F002C - 4.5 Units - ADV DATA STRUCT/ALGRM IN C++

 

C S F002C - 4.5 Units - ADV DATA STRUCT/ALGRM IN C++

This course is a systematic treatment of advanced data structures, algorithm analysis and abstract data types in the C++ programming language intended for CS majors as well as non-majors and professionals seeking advanced C++ experience. Coding topics include the development of ADTs from scratch, building ADTs on top of the STL templates, vectors, lists, trees, maps, hashing functions and graphs. Concept topics include searching, big-O time complexity, analysis of all major sorting techniques, top down splaying, AVL tree balancing, shortest path algorithms, minimum spanning trees and maximum flow graphs.

Formerly CIS 15C until 201321-cmln

C S F002B - 4.5 Units - INTERM SOFTWARE DESIGN C++


This course is a systematic treatment of intermediate concepts in computer science through the study of C++ object-oriented programming (OOP) intended for CS majors as well as non-majors and professionals seeking intermediate-level C++ experience. Coding topics include C++ derived classes, class templates, function templates, virtual functions, operator overloading, an introduction to the Standard Template Library, multiple inheritance, pointers, dynamic memory allocation and file I/O. Concept topics include OOP project design, inheritance, polymorphism, method chaining, functional programming, linked-lists, FIFOs, LIFOs, events in GUIs and guarded code.


Formerly CIS 15B until 201321-cmln

C S F002A - 4.5 Units - OBJ-ORIENT PROG METHOD IN C++

 

C S F002A - 4.5 Units - OBJ-ORIENT PROG METHOD IN C++

This course is a systematic introduction to fundamental concepts of computer science through the study of the C++ programming language intended for CS majors as well as non-majors and professionals seeking C++ programming experience. Coding topics include C++ control structures, objects, global-scope functions, class methods, arrays and elementary data structures. Concept topics include algorithms, recursion, data abstraction, problem solving strategies, code style, documentation, debugging techniques and testing.

Formerly CIS 15A unitl 201321-cmln

C S F001C - 4.5 Units - ADV DATA STRUCT/ALGORMS JAVA

 C S F001C - 4.5 Units - ADV DATA STRUCT/ALGORMS JAVA

This course is a systematic treatment of advanced data structures, algorithm analysis and abstract data types in the Java programming language intended for CS majors as well as non-majors and professionals seeking advanced Java experience. Coding topics include the development of ADTs from scratch, building ADTs on top of the java.util collections, array lists, linked lists, trees, maps, hashing functions and graphs. Concept topics include searching, big-O time complexity, analysis of all major sorting techniques, top down splaying, AVL tree balancing, shortest path algorithms, minimum spanning trees and maximum flow graphs.


Formerly CIS 27C unit 201321-cmln

C S F001B - 4.5 Units - INTERM SOFTWARE DESIGN IN JAVA

This course is a systematic treatment of intermediate concepts in computer science through the study of Java object-oriented programming (OOP) intended for CS majors as well as non-majors and professionals seeking intermediate-level Java experience. Coding topics include Java interfaces, class extension, generics, the Java collections framework, multi-dimensional arrays and file I/O. Concept topics include OOP project design, inheritance, polymorphism, method chaining, functional programming, linked-lists, FIFOs, LIFOs, event-driven programming and guarded code.


Formerly CIS 27B until 201321-cmln

C S F001A - 4.5 Units - OBJ-ORIENTED PROG METHOD JAVA

 


This course is a systematic introduction to fundamental concepts of computer science through the study of the Java programming language intended for CS majors as well as non-majors and professionals seeking Java programming experience. Coding topics include Java control structures, classes, methods, arrays, graphical user interfaces and elementary data structures. Concept topics include algorithms, recursion, data abstraction, problem solving strategies, code style, documentation, debugging techniques and testing.


Foremerly CIS 27A until 201321-cmln

C S F010. - 4.5 Units - COMPUTER ARCHITEC/ORGANIZATION

 C S F010. - 4.5 Units - COMPUTER ARCHITEC/ORGANIZATION

The course covers the organization, architecture and machine-level programming of computer systems. Topics include mapping of high-level language constructs into assembly code, internal data representations, numerical computation, virtual memory, pipelines, caching, multitasking, IA-32 architecture, structured assembly language code, interrupts, input/output, peripheral storage processing, and comparison of CISC (Intel) and RISC (MIPS) instruction sets.

C S F018. - 5 Units - DISCRETE MATHEMATICS

 C S F018. - 5 Units - DISCRETE MATHEMATICS

Discrete mathematics: set theory, logic, Boolean algebra, methods of proof, mathematical induction, number theory, discrete probability, combinatorics, functions, relations, recursion, algorithm efficiencies, graphs, trees.


Cross-listed with MATH 22

Monday, February 16, 2026

OpenClaw

 Please do not install or run OpenClaw on any district-owned device or on any personal device that accesses district systems, email, or data. Recent analysis identifies serious cybersecurity risks—including a critical vulnerability that could allow remote takeover of your computer—as well as broader risks from autonomous “agentic” behavior that can spread across connected accounts and systems.




OpenClaw CCC Advisory



OpenClaw Notice

2-Week Two : Sp26 CS F003A Object Orien Prgm Meth Python 03W, 04W Reed 40365, 40879 Inbox

  Welcome to  Sp26 CS F003A Object Orien Prgm Meth Python 03W, 04W Reed 40365, 40879   < notifications@instructure.com > 9:01 AM (12 h...